Где хранятся настройки mysql в bitrix env и как их изменять

Как поднять Debian сервер под хостинг 1С-Битрикс

Я делал много кратких заметок-набросков по поводу настройки разынх серверов под проекты на 1С-Битрикс. По сути, я тестировал производительность конфигураций в различных дистрибутивах и связках. И понял, что для средненагруженных проектов удобнее использовать один сервер под все сразу (Apache, MySQL, PHP). Это будет самая последняя и самая полная статья в серии как настроить все с нуля.

Цель:

Оборудование:

ОС:

Оглавление

1. Начальная настройка и подготовка сервера 2. Установка Apache, MySQL, PHP 3. Настройка Apache 4. Настройка MySQL 5. Настройка PHP 6. Настройка FTP 7. Настройка iptables

8. Оптимизация

1. Начальная настройка и подготовка сервера

Меняем время на нужное для нас

# ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime

Убаждаемся, что команда hostname выдает правильное имя сервера. Это же имя должно быть в файле /etc/hosts напротив IP-адреса. Если такоего нет, задаем:

Файл /etc/hosts:

Для начала добавляем репозитории, откуда будут браться пакеты. Их два — репозиторий Zend и репозиторий, откуда мы будем устанавливать MySQL версии 5.5
В файл /etc/apt/sources.list добавляем следующие строчки:

deb https://repos.zend.com/zend-server/deb server non-freedeb https://packages.dotdeb.org squeeze alldeb-src https://packages.dotdeb.org squeeze all

Добавляем ключи репозиторием:

# wget https://repos.zend.com/zend.key -O- |apt-key add -# wget https://dotdeb.org/dotdeb.gpg -O- |apt-key add –

Обновляем установленные пакеты (если есть такие):

2. Установка Apache, MySQL, PHP

Ставим сразу все. Это все одна длинная-длинная строчка.

# apt-get install zend-base libapache2-mod-php-5.3-zend-server php-5.3-xmlrpc-zend-server php-5.3-optimizer-plus-zend-server php-5.3-zem-zend-server php-5.3-curl-zend-server php-5.3-data-cache-zend-server php-5.3-mbstring-zend-server php-5.3-mcrypt-zend-server php-5.3-memcache-zend-server php-5.3-mysql-zend-server php-5.3-mysqli-zend-server php-5.3-gd-zend-server php-5.3-ctype-zend-server php-5.3-json-zend-server php-5.3-dev-zend-server mysql-server

Я не стал ставить phpmyadmin, потому что не хочу давать напрямую доступ к базе. Любую работу с БД можно производить через панель управления Битрикс, а администратору проще все делать через консоль.

3. Настройка Apache

Все настройки сайтов будут храниться в папке /etc/apache2/sites-enabled/

Там уже есть один сайт по умолчанию 000-defaul. Я создаю сайты по следующему принципу -. Т.е. все сайты с индексом 000 — это сайты, которые принадлежат владельцу сервера. Сайты с индексом 001 — это первый клиент, 002 — второй клиент и т.д. — это… как ни странно… домен.

Я покажу пример настройки двух своих сайтов. Файлы одинаковые, за исключением переменных ServerName, ServerAlias, DocumentRoot и директории сайта. Так же, надо помнить, что для Битрикс надо устанавливать значение AllowOverride All, чтобы обрабатывались файлы .htaccess.

/etc/apache2/sites-enabled/000-default:

        ServerAdmin [email protected]        DocumentRoot /var/www/vcore.ru/                        Options Indexes FollowSymLinks MultiViews        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/                        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch        ErrorLog ${APACHE_LOG_DIR}/error.log        CustomLog ${APACHE_LOG_DIR}/access.log combined

/etc/apache2/sites-enabled/000-shieldz.ru:

        ServerName www.shieldz.ru        ServerAdmin [email protected]        DocumentRoot /var/www/shieldz.ru/                        Options Indexes FollowSymLinks MultiViews        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/                        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch        ErrorLog ${APACHE_LOG_DIR}/error.log        CustomLog ${APACHE_LOG_DIR}/access.log combined

Сами сайты хранятся в папке /var/www/
Устанавливаем права:

# chown -R www-data:www-data /var/www/*# chmod -R 755 /var/www/*

Если вы работаете с файлами сайта через консоль, то владельцем файла или папки становитс тот пользователь, от которого вы работаете. После внесения любых изменений в файлы сайта, лучше заново выполнять команду chown.

Пока что на этом все. Apache запускать еще рано. Не торопимся.

4. Настройка MySQL

Тип всех таблиц в базах данных я устанавливаю в InnoDB, соответственно файл конфигурации будет приведен под максимальную производительность именно InnoDB, а не MyISAM.

Первое, что необходим сделать — это обезопасить базу данных. Пароль администратора спрашивался в процессе установки. Нам остается лишь выполнить следующую команду, которая предложит сменить пароль администратора, удалить временные базы и пользователей, а так же запретит удаленное подключение пользователю root.

# mysql_secure_installation

К сожалению, база данных уже будет запущена. Почему к сожалению? Потому что дальше будет ошибка.
А пока что заходим в бд и убеждаемся, что нет записей с пустыми паролями

> SELECT host, user, password FROM user;

Если есть пустые пароли, меняем их

> SET PASSWORD FOR ''@'' = PASSWORD('');

Далее, нам надо создать файл конфигурации. За основу берем файл my-huge.cnf, которые доступен в качестве примера в документации к MySQL. Забираем этот файл.

# cd /usr/share/doc/mysql-server-5.5/examples/# cp my-huge.cnf /etc/mysql/my.cnf

Файл /etc/mysql/my.cnf (с комментариями в ключевых моментах):

[fusion_builder_container hundred_percent=”yes” overflow=”visible”][fusion_builder_row][fusion_builder_column type=”1_1″ background_position=”left top” background_color=”” border_size=”” border_color=”” border_style=”solid” spacing=”yes” background_image=”” background_repeat=”no-repeat” padding=”” margin_top=”0px” margin_bottom=”0px” class=”” id=”” animation_type=”” animation_speed=”0.3″ animation_direction=”left” hide_on_mobile=”no” center_content=”no” min_height=”none”][fusion_client]socket          = /var/run/mysqld/mysqld.socksocket          = /var/run/mysqld/mysqld.sock# задаем максимальное число подключений# я бы не стал задавать больше 300, если вы не знаете зачем это# со всеми этими параметрами можно поиграть для улучшения производительности# для меня эти работают наиболее удачно# в основном они относятся к таблицам MyISAM, а не InnoDBread_rnd_buffer_size = 8Mmyisam_sort_buffer_size = 64M# судя по тестам, значение в 2000 является наиболее удачным# Количество ядер процессора умножаем на 2transaction-isolation   = READ-COMMITTED# указываем, что хотим по умолчанию использовать innodbdefault-storage-engine  = innodbcharacter-set-server    = utf8collation-server        = utf8_general_ciinnodb_data_home_dir = /var/lib/mysqlinnodb_data_file_path = ibdata1:2000M;ibdata2:10M:autoextendinnodb_log_group_home_dir = /var/lib/mysql# выставляем значение где-то 50 – 80 % от объема оперативной памятиinnodb_buffer_pool_size = 4Ginnodb_additional_mem_pool_size = 20M# не более 25 % от размера innodb_buffer_pool_sizeinnodb_log_file_size = 256Minnodb_log_buffer_size = 8Minnodb_flush_log_at_trx_commit = 2innodb_flush_method = O_DIRECTinnodb_lock_wait_timeout = 50

Вот теперь-то и возникает та оишбка, о которой я говорил раньше. Нам надо перезагрузить сервер MySQL. Но сделать это не получится.

Останаливаем сервер БД и удаляеем следующие файлы:

# /etc/init.d/mysql start

Все. На этом настройки сервера баз данных завершились. Напоследок, если вы все же решились работать с базами данных через консоль, а не через phpmyadmin, то вот несколько полезных команд.

Все команды выполняются через консоль бд, т.е. сначала надо войти в нее:

Создание базы данных:

> CREATE DATABASE ;

Назначение прав на базу данных (обращаем внимание на кавычки):

> GRANT ALL PRIVILEGES ON .* TO ''@'localhost' IDENTIFIED BY '';

Восстановление базы данных из бекапа (эта команда выполняется просто из консоли):

# mysql -u root -p <

5. Настройка PHP

Настроек PHP не так уж и много. Выполняем рекомендации и требования 1С-Битрикс и делаем следующие изменения в файле /usr/local/zend/etc/php.ini:

allow_call_time_pass_reference = Onrealpath_cache_size = 4096Kupload_max_filesize = 20Mdate.timezone = “Europe/Moscow”

Перезагружаем веб-сервер:

# /etc/init.d/apache2 restart

6. Настройка FTP

Устанавливаем ProFTPD

# apt-get install proftpd

В файле /etc/proftpd/proftpd.conf я лишь внес следующие изменения:

ServerName                      “vCore LTD FTP Server”

Как создавать пользователей? Легко, командой useradd -d — домашнаяя директория пользователя (т.е. то, где находится сайт) -g — группа, к которой принадлежит пользователь -M — не надо создавать домашнюю директорию

-N — не создавать одноименную группу с именем пользователя

# useradd -d /var/www/vcore.ru -g www-data -M -N vcore

Далее задаем пароль для созданного пользователя

7. Настройка iptables

Создаем файл /etc/iptables.rules со следующим содержанием:

# Разрешаем любой траффик на интерфейс lo0, а весь траффик 127/8 блокируем, если он не идет черерз lo0-A INPUT -i ! lo -d 127.0.0.0/8 -j REJECT# Пропускаем установленные входящие-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT# Разрешаем любой исходящий# Разраешаем HTTP и HTTPS-A INPUT -p tcp –dport 80 -j ACCEPT-A INPUT -p tcp –dport 443 -j ACCEPT# –src 123.123.123.123 – это адрес, откуда пускать ssh, можно указать несколько адресов через запятую-A INPUT -p tcp -m state –state NEW –dport 22 –src 123.123.123.123 -j ACCEPT# можно использовать –src, как и в предыдущем примере, если пускать надо лишь с определенных адресов-A INPUT -p tcp -m state –state NEW –dport 21 -j ACCEPT-A INPUT -p tcp -m state –state NEW –dport 49152 -j ACCEPT-A INPUT -p tcp -m state –state NEW –dport 49153 -j ACCEPT-A INPUT -p tcp -m state –state NEW –dport 49154 -j ACCEPT-A INPUT -p tcp -m state –state NEW –dport 49155 -j ACCEPT-A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT# Заносим в лог всё запрещенное-A INPUT -m limit –limit 5/min -j LOG –log-prefix “iptables denied: ” –log-level 7# Запрещаем все остальное (политика “запрещаем все, если не указано иначе”)

Далее, чтобы правлиа заработали выполняем следующую команду:

# iptables-restore < /etc/iptables.rules

Оптимизация

Самый большой прирост в производительности (по крайней мере в мониторе производительности в Битрикс) дает включение APC-кеша. Для этого надо в файле bitrix/php_interface/dbconn.php добавить следующие строчки:

define(“BX_CACHE_TYPE”, “apc”);define(“BX_CACHE_SID”, $_SERVER[“DOCUMENT_ROOT”]);

[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]

Источник: https://vanyukov.su/tech/debian-1c-bitrix-hosting/

Смена mysql root пароля на bitrix-env

15.02.2017

1720

Не знаю почему, но root пароль от mysql на bitrix-env любой версии по дефолту пустой. И изменить его не предлагают при первой загрузке сервака, в отличие от пароля пользователя bitrix.

А если пароль не установить, то система не даст создавать новые сайты. По крайней мере bitrix-env 7 версии – точно.

Однако, это можно сделать по инструкции. Но у меня это на двух серваках не сработало, система каждый раз ставила задание на смену пароля, и оно упорно завершалось еррором. Выяснять толи лыжи не едут, толи я какой-то не такой – желания и времени не было. Пришлось делать все руками. Причем в этих же доках нет ни слова про то, что пароль надо прописывать в нескольких местах .

И так…

Заходим в терминал под рутом. 

Выходим из меню битрикса.

Набираем mysql и должны увидеть что-то вроде 

[[email protected] ~]# mysql Welcome to the MariaDB monitor. Commands end with ; or g. Your MariaDB connection id is 8 Server version: 5.5.54-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. MariaDB [(none)]>

Далее пишем стандартную команду смены mysql пароля 

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NEWPASS');
Где NEWPASS – новый пароль. И далее нужно пройти еще в файлы 

  • для пятой версии /etc/ansible/group_vars/bitrix-mysql и /etc/ansible/group_vars/bitrix-web 
  • для седьмой /etc/ansible/group_vars/bitrix-mysql.yml и /etc/ansible/group_vars/bitrix-web.yml

Найти в этих файлах mysql_password и web_mysql_password и вписать свой пароль.

Потом находим файл /root/.my.cnf, в некоторых случаях он может называться .my.cnf.temp или иметь еще какое-нибудь окончание. Его тогда нужно переименовать в .my.cnf и в нем тоже прописать пароль password='NEWPASS

Для порядка лучше перезагрузить сервак и после этого все должно работать.

bitrix-env 7, centos 7, mysql

Как использовать «1C» в облаке

Современные тенденции информационного мира затрагивают и такие консервативные отрасли, как бухгалтерия. Несомненный лиде…

Читайте также:  Базовая настройка сервера debian после установки

Как запретить обновления Битрикс

Иногда по тем или иным причинам не хочется больше (или временно) получать обновления модуля. Например, вы доработали реш…

Как исправить ошибку: Call to undefined function mysqli_init()

Заметил такую штуку, что много людей да и я в том числе сталкиваются с такой проблемой. При восстановлении бекапа сайта …

Источник: https://abraxabra.ru/blog/bitrix-zametki/change-mysql-root-password-on-bitrix-env/

«Битрикс: Веб-окружение» — установка и настройка

В начале этого года Битрикс выпустили новую, седьмую, версию своего «Веб-окружения». Самое главное — теперь официально поддерживается установка на CentOS 7 и php 7. Небольшое пояснение, если вы не в курсе.

«1С-Битрикс: Веб-окружение» — это готовая среда с предустановленным рекомендуемым набором программного обеспечения, необходимого для корректной работы CMS 1С-Битрикс. Поставляется как в большом многообразии — есть готовые образа для различной виртуализации (подробнее см.

на официальном сайте) и установочный скрипт для установки на сервер. Вот работу с последним мы и рассмотрим.

Что получим

Веб-окружение позиционируется, как лучшее решение для всей линейки продуктов Битрикс — как для всех редакций «1С-Битрикс: Управление Сайтом» так и для коробки Битрикс24. Давайте посмотрим, что нам предлагают использовать в качестве рекомендуемой связки. Сама схема традиционна: Apache+nginx.

Для текущей 7.0.1 версии веб-окружения используются стабильные Apache 2.4 и nginx 1.10.2. Самое главное нововведение, переход на php 7. Про официальную поддержку nginx+php-fpm пока даже слухов нет, так что данный вариант по прежнему придется собирать руками.

Версия MySQL, а точнее форка MariaDB, по прежнему 5.5, в соответствии с официальными репозиториями CentOS.

Хотя, если вы обновлялись до последних версий Битрикс, наверняка встречали предложение выполнить в консоли БД некий sql-запрос для модуля «Веб-мессенджер», который можно провернуть только с версией 5.6. Про переход на 5.6, так же как нибудь расскажу.

Что еще входит в пакет:

  • memcached — сервис обеспечивающий кеширование данных в ОЗУ, при правильном использовании дает значительное ускорение работы. По умолчанию не используется;
  • stunnel — для организации шифрованных ssl-тунелей;
  • catdoc — библиотека для работы с форматами MS Office. В частности используется для поиска по документам;
  • xpdf — задачи те же что и пунктом выше, только для PDF;
  • munin и nagios — мониторинг состояния сервера. По умолчанию не используется;
  • sphinx — полнотекстовый поиск. На данный момент наилучшее решение по удобству, качеству и скорости поиска. По умолчанию не используется.

Само собой все это уже настроено на корректную работу друг с другом. Давайте ставить.

Установка «1С-Битрикс: Веб-окружение» на сервер

Качаем скрипт установки — актуальную ссылку на скачивание можно поглядеть на оф. сайте. Запускать надо root’ом и далее подразумевается, что мы находимся в /root. Если нет, перейдите выполнив:

В процессе установки будут задаваться уточняющие вопросы. n или N служат для отказа, любой другой ввод — для соглашения. Т.е. что бы согласится достаточно нажать Enter.

# curl -O https://repos.1c-bitrix.ru/yum/bitrix-env.sh

Если у вас включен SElinux, то первым шагом попросят отключить:

You must disable SElinux before installing the Bitrix Environment.Do you want disable SELinux?(Y|n)

Соглашаемся и жмем Enter для подтверждения. После успешного отключения надо перегрузить сервер:

Change SELinux state to disabled in /etc/selinux/configChange SELinux state to disabled in /etc/sysconfig/selinuxPlease reboot the system! (cmd: reboot)

После перезагрузки заново запускаем скрипт установки.

Запуск установки «1С-Битрикс: Веб-Окружение»

Первым будет запушен процесс обновления системы, что бы актуализировать версии установленных пакетов. Т.е. по сути:

Затем будет установлено все необходимое ПО. Процесс установки занимает около 10-15 мин. После установки спросят, хотим ли мы задать пароль root для MySQL. Соглашаемся и устанавливаем:

Do you want to set a password for root user in MySQL service?(Y|n):

На этом установка завершена, о чем будет выдано соответствующее извещение.
Запускаем скрипт управления средой (после перезагрузки и входа по root’ом этот скрипт будет запускаться автоматически):

При первом запуске нас попросят задать пароль для пользователя bitrix.

Первый запуск 1С-Битрикс: Веб окружение

Задаем пароль и попадаем в стартовое меню «1С-Битрикс: Веб-окружение». Установка завершена, переходим к настройке.

Настройка Веб-окружения Битрикс

Меню при первом запуске

Чем хороши скрипты Веб-окружения, то это тем, что позволяют настроить веб-сервер под 1С-Битрикс, не обладая глубокими знаниями по администрированию Linux. А для тех, кто разбирается, сократить время на рутинные операции по настройке сервера.

Теоретически, вам вообще нет необходимости выходить из оболочки веб-окружения, все должно делается ее средствами. На практике, конечно, это не совсем так, но для быстрого запуска веб-сервера, это отличное решение.

Давайте все же немного разберемся с настройками и создадим среду для сайта, куда развернем Битрикс: Управление Сайтом (БУС).

Первым делом нам надо создать Menengment pool (управляемую среду). Для этого выбираем пункт 1 меню (жмем цифру 1 и Enter). Запустится мастер который попросит вас ввести FQDN адрес вашего сайта. Вводите имя вашего домена без www, http и т.п. Т.к. я настраиваю в локальной виртуальной среде, у меня это будет mysite.local.

Создаем управляемую среду (Managment pool) в веб-окружении Битрикс.

После этого в главном меню добавится значительное число пунктов.

Главное меню, после создания пула

Собственно, на этом можно было бы и остановится, если вы перейдете по адресу, который вы задали для среды, то увидите следующее:

Среда создана, можно ставить Битрикс

Т.е. вполне можете разворачивать свой Битрикс с нуля или из резервной копии.
Давайте еще немного помучаем меню веб-окружения и посмотрим, чего полезного надо сделать.

Настройка почты

Этот пункт первый, который надо сделать еще до установки самой CMS.
Идем сначала 6. Manage sites in the pool, затем 4. Change email settings on site. Затем выбираем сайт, для которого идет настройка, если он у нас один (будет обозначен как default), то просто жмем Enter. Затем:

  1. Enter from address (ex. [email protected]): указываем адрес от имени которого будет происходить рассылка, желательно указывать существующий;
  2. Enter server address or DNS (127.0.0.1): оставляем как указано и жмем Enter;
  3. Enter server port (25): то же оставляем как есть;
  4. Do you want to use SMTP authentication on the 127.0.0.1:25? (N|y) — нет, спасибо. Вводим n;
  5. Do you need TLS enable for 127.0.0.1:25 (n|Y): то же нет, вводим n.

Собственно все видно на скриншоте:

Настраиваем почту

В Битрикс, запускаем «Проверку системы» и убеждаемся, что все в порядке:

Почта работает

Надеюсь, вы понимаете, что к отправленной таким образом почте будет крайне мало доверия. Поэтому рекомендую настраивать почту через реальный SMTP сервер с аутентификацией и настроенным DKIM.
И ещё один момент — почтовый лог пишется в /home/bitrix/msmtp_default.log

Включаем memcached

В главном меню переходим к пункту 4. Configure memcahed servers. И затем 1. Create memcached server. Затем вводим имя хоста для которого будет запущен сервис. В нашем случае он у нас один.

Включаем memcached для Битрикс: Веб-окружение

Собственно все — как видно на скрине, все запущено. Жмем Enter для возврата в предыдущее меню.
После этого не забудьте включить поддержку memcached в Битрикс — как описано в официальной документации.

Включаем sphinx

Аналогично добавим для Битрикс поддержку полнотекстового поиска через sphinx. Выбираем 7. Manage sphinx in the pool, затем 1. Create sphinx instance on server
Здесь нам надо сначала ввести имя хоста, а затем имя базы данных, с которой будет работать sphinx. На запрос переиндексации соглашайтесь (Битрикс должен быть уже установлен и БД не пустая).

Включаем sphinx

Как всегда с Битрикс, есть особенности. Если модуль «Поиск» меньше версии 17.0.0 то будете получать сообщение «Ошибка подключения к серверу Sphinx: Расширение MySql не установлено».

Ну и последнее,

Как отключить автоматический запуск меню Веб-окружения при логине

Выходим из меню веб-окружения в консоль сервера (0. Exit). И в файле ~/.bash_profile комментируем последнюю строку, где скрипт меню и вызывается:

export BITRIX_VA_VER=7.0.1#~/menu.sh – вызов меню при старте сесии

Источник: https://host-consult.ru/bitriks-veb-okruzhenie/

Установка phpMyAdmin в «Битрикс веб-окружение»

RSSTwitterFacebookGoogle+

Статьи, приемы, хитрости и Уроки по Photoshop, Illustrator, Web дизайну и кодингу.

17 Март

  Иногда во время тестирования сайта для «1С-Битрикс» появляется необходимость поработать с базой данных, изучить таблицы их содержимое или проследить как они связаны. 

В «Битрикс веб-окружение» нет phpMyAdmin. Сейчас мы его поставим.

Сначала нужно скачать phpMyAdmin. Это можно сделать на сайте https://php-myadmin.ru в разделе «Скачать». Для скачивания выбираем архив, содержащий все языковые файлы в нескольких кодировках (all-languages).  Затем нужно создать папку, куда мы будем распаковывать скачанный архив. Так и назовем ее “phpMyAdmin”. Папку нужно создать внутри каталога Bitrix (тот каталог куда установили веб окружение) (например, D:BitrixphpMyAdmin) 

Далее нужно создать в «Битрикс веб-окружение» новый виртуальный хост. Это делается в файле httpd.conf, в котором хранятся все настройки веб-сервера Apache. Это файл лежит в папке D:Bitrixapacheconf. 

Открываем его с помощью, например, “Notepad++” и добавляем следующий блок настроек: 

Код

Listen 82 ServerName localhost DocumentRoot “D:Bitrixphpmyadmin”

Таким образом, мы добавили новый виртуальный хост в «Битрикс веб-окружение», который будет доступен по адресу localhost:82. 

Можно использовать любой допустимый порт (не обязательно 82).  Не забудьте после завершения настроек перезагрузить сервер, чтобы добавленный виртуальный хост стал доступен. 

Теперь в созданную ранее папку нужно разархивировать скачанный ранее phpMyAdmin

Заходим в папку D:Bitrixphpmyadmin и находим в ней файл config.inc.php. В нем хранятся настройки для соединения с сервером mysql. 

Если его нет – создайте и пометите туда этот код:

Настройки представляют из себя ассоциативный массив. Нас интересуют следующие элементы этого массива: 

$cfg['Servers'][$i]['host'] — сюда нужно прописать хост для доступа к серверу mysql (в «Битрикс веб-окружение» по умолчанию — localhost:31006) 

$cfg['Servers'][$i]['user'] — сюда вписываем пользователя (по умолчанию “root”)  $cfg['Servers'][$i]['password'] – здесь указываем пароль пользователя “root” (по умолчанию пустое значение) 

Читайте также:  Очистка и обслуживание почтовой базы postfix

После того как мы сделаем эти настройки, по адресу localhost:82 будет доступен phpMyaAdmin, в котором просматривать базу данных системы «1С-Битрикс».

Наверх

Источник: https://serbga.ru/web/web-coding/ustanovka-phpmyadmin-v-bitriks-veb-okruzhenie

Оптимизация MySQL с помощью настроек в my.cnf

Хочу рассказать о настройках, которые применял, но не все из них помогли, просто опишу их.

Введение

Как я успел разобраться, при каждом соединении с MySQL создается mysqld (демон), который и обрабатывает все запросы соединения. Вот в блоке [mysqld] описывается именно настройки таких демонов.

Итак, давайте рассмотрим настройки демона [mysqld].

Выставить кодировку по умолчанию можно так:

Защитить сервер от кривых рук программиста, способного join`ом на 10 миллионов записей похоронить даже 4-х процессорный сервер, можно так:

Буфер можно выставить 25% от общего объема оперативной памяти:

как я понял, это буфер обмена для всех демонов, т.е. реально будет: key_buffer_size / кол-во демонов = ???M

Размер стека для каждого потока (демона):

стек – это место для хранения списка задач (открыть таблицу, выполнить запрос, закрыть и т.п.)

Кол-во потоков, которые сервер должен поместить в кэш для повторного использования:

т.е. если к примеру есть часто повтояющийся SELECT * FROM myTable, то он попадет в кэш, чтобы не выполняться каждый раз.

Полезная настройка: если размер временной таблицы превышает размер, установленный этой переменной, она сбрасывается на диск. При наличии достаточного количества памяти на сервере, рекомендуется повысить значение данной переменной, по ускорения запросов с конструкцией GROUP BY

Установить максимальный размер таблиц типа MEMORY ( HEAP ) можно так:

Размер буфера, выделяемого демону при выполнении операций сортировки. Для ускорения операций ORDER BY, GROUP BY рекомендуется увеличить данное значение

Размер буфера выделяемого для сортировки MyISAM индексов с помощью оператора REPAIR TABLE или при создании индексов операторами CREATE TABLE, ALTER TABLE:

Размер буфера, выделяемого демону для каждой сканируемой таблицы. При частом последовательном сканировании, рекомендуется увеличить значение данной переменной.

Размер буфера, выделяемого для чтения строк после сортировки, что-бы избежать повторного поиска на диске. Увеличение значения данной переменной может существенно увеличить эффективность конструкции ORDER BY. Имейте в виду, так как данный буфер выделяется для каждого демона, не следует устанавливать чересчур большое значение.

Размер буфера использующегося при операциях объединения таблиц ( если не используются индексы ). Буфер устанавливается один раз во время каждой операции объединения

Величина буфера, который используется для индексов, всех демонов. Если используется много DELETE или INSERT запросов к таблицам с большим кол – индексов, то увеличение значения повысит скорость выполнения таких запросов. Для достижения еще большей скорости нужно использовать LOCK TABLES. Советуют устанавливать не больше чем 1/3 озу и не больше объема всех б.д.

Максимально количество соединений клиентов с сервером

Задает максимально количество неудачных попыток подключения с хоста. Значение по-умолчанию 10. При достижении данного значения, хост блокируется. Разблокировать хост можно с помощью: mysql> FLUSH HOSTS

Максимальное число одновременных подключений для одной учетной записи MySQL. Значение по-умолчанию 0, отсутствие каких-либо ограничений

table_cache старое название для переменной table_open_cache, в нем указывается количество открытых таблиц для всех демонов. Увеличение значения приведет к увеличению количества используемых дескрипторов файла.

Советуют рассчитывать по формуле: количество одновременных соединений * количество открытых таблиц в соединении. Т.е. для каждого соединения используется свои ячейки из кэша. Для проверки можно запустить mysqltuner.

pl

Количество одновременно запускаемых демонов, советуют формулу: количество ядер процессора умножаем на 2

Размер буфера для соединений, устанавливаемый сервером в промежутках между запросами

Максимальный объем одного SQL-запроса к серверу. Изначально буфер сообщений имеет размер net_buffer_length и при необходимости, автоматически увеличивается до значения данной переменной.

Переменная задает количество байт при операциях сортировки значений BLOB или TEXT. Использованы только первые max_sort_length, остальные игнорируются

Полезная настройка: запросы, результат которых превышает значение данной переменной, не будут размещаться в кэше запросов.

Полезная настройка: объем памяти, выделенной для кэширования результатов запросов. По-умолчанию данный кэш отключен, значение – 0

Полезная настройка: вид кэширования:

0 – ничего не кэшировать (по-умолчанию)
1 – кэшировать все запросы, кроме SELECT SQL_NO_CACHE
2 – кэшировать только запросы, начинающихся с конструкции SELECT SQL_CACHE

Настройки innodb (извините, что без пояснений, просто оставлю их тут, чтобы не забыть):

Битрикс рекомендует:

Настройки блока для создания дампов

[mysqldump]

[mysql]

Старое название следующей настройки: character-set-server = utf8 выдает ошибку: /usr/bin/mysql_upgrade: unknown variable 'character-set-server=utf8

Надеюсь, кому-нибудь помог разобраться, удачки в освоении MySQL.

Источник: https://yapro.ru/web-master/mysql/optimizaciya-mysql-s-pomoshiyu-nastroek-v-my-cnf.html

Настройка MySQL Bitrix (цены на фрилансе): сколько стоит услуга Bitrix настройка базы данных у фрилансеров

К вашим услугам 2249 сисадминов в категории “настройки MySQL”, специализирующихся на услуге “MySQL”. Выберите лучшее предложение, основываясь на 57090 отзывах об исполнителях раздела “Доработка и поддержка сайта” на YouDo

Получить предложениялучшие цены от сисадминов

на настройки MySQL

Поиск сисадминов
Прайс на настройки MySQL
Типовые услуги сисадминов

Наши преимущества

Только проверенные исполнители

Все исполнители YouDo проходят проверку администрацией сервиса, а так же имеют достоверные отзывы от других заказчиков

Быстро и удобно

Уже через несколько минут после публикации задания вы начнете получать предложения от заинтересованных сисадминов YouDo.

Благодаря быстродействию баз данных повышается общая производительность проекта на 1С: Bitrix. Настройка базы данных MySQL для Битрикс может также позволить увеличить скорость загрузки страницы сайта.

Именно скорость загрузки влияет на впечатления пользователя о сайте. Если страница загружается медленно, то посетитель может просто закрыть вкладку своего браузера, так и не дождавшись загрузки страницы.

Выходит, конфигурация базы данных MySQL для 1С: Bitrix – это значимые условия, которые могут повлиять и на посещаемость.

Как настроить MySQL?

Настройка MySQL под Bitrix начинается с установки типа таблиц. Они должны быть типа InnoDB. Чтобы проверить это, следует провести следующие действия:

  • Зайти в административную панель 1С: Bitrix;
  • Выбрать настройку, инструменты и «SQL запрос»;
  • Введите команду «SHOW TABLE STATUS».

Если вы сделали все верно, то обратите внимание на второй столбец. Именно там будет отображаться тип таблиц.

Если тип таблиц MyISAM, то изменения конфигурации MySQL для 1С: Битрикс будут выглядеть так:

  • Выберите «Настройки», зайди в «Производительность» и кликните на параметр «Таблицы»;
  • Найдите строку «Для всех»;
  • Выпадающий список должен содержать «Преобразовать в InnoDB».

Настройка MySQL под 1С: Bitrix включает и другие преобразования. Для изменения конфигурации следует найти файл etc/init.d/mysql. В нем есть параметр CONF. Именно в нем меняется настройка MySQL.

Если настройка MySQL для Битрикс изменилась, то требуется перезапуск сервера, иначе изменения не смогут вступить в силу.

Чтобы посмотреть все параметры, то следует ввести команду «mysqladmin variables –p(root пароль)».

Какая настройка MySQL для Bitrix является наиболее продуктивной? На этот вопрос поможет ответить только опыт и экспериментирование. Также вам поможет «Монитор производительности». Чтобы его вызвать, нужно выполнить такие действия:

  • Выберите «Настройки»;
  • Зайдите в «Производительность»;
  • Найдите «Сервер БД».

Изменение конфигурации можно проводить как самостоятельно, так и используя услуги специалиста.

Поиск специалиста с биржей Юду

Найти хорошего специалиста в области компьютерных технологий бывает нелегко. Особенно, когда требуется специалист по работе с сервером.

Однако заказать услуги по настройке и оптимизации сервера вы можете на онлайн-бирже Юду. Эта платформа объединяет специалистов компьютерной сферы.

Они предоставляют различные услуги, которые вы можете легко заказать. К ним относится не только настройка MySQL, но и работа с другим ПО.

На сайте Юду зарегистрированы специалисты, которые сами подают заявку на вашу работу. Вам остается лишь выбрать понравившегося кандидата. При этом цену и срок вы назначаете сами. Если мастер подал заявку на ваш проект, значит, он согласен с вашими условиями. В итоге, в выигрыше остаются как заказчик, так и исполнитель. С биржей Юду поиск специалиста становится легким процессом!

Источник: https://freelance.youdo.com/administration/setting/mysql/flan/bitrix/

Где находится конфигурационный файл подключения к базам данных в популярных CMS – Rusonyx

В Joomla есть файл configuration.php, в котором есть строчки:

var $host = 'сервер';var $user = 'имя_пользователя';var $db = 'имя_базы_данных';var $password = 'пароль';

В WordPress есть файл wp-config.php, в котором есть строчки:

define('DB_NAME', 'имя_базы_данных');define('DB_USER', 'имя_пользователя');define('DB_HOST', 'сервер');define('DB_PASSWORD', 'пароль');

В Drupal в папке /site/default/ есть файл settings.php, в котором есть строчка $db_url = 'mysql://username:password@mysqlhost/databasename'; Где:

username – имя пользователя;password – пароль;mysqlhost – сервер базы данных;databasename – имя базы данных.

В DLE в папке /engine/data/ есть файл dbconfig.php, в котором подключение к базе прописывается в строчках:

define (“DBHOST”, “сервер”);define (“DBNAME”, “имя_базы_данных”);define (“DBUSER”, “имя_пользователя”);define (“DBPASS”, “пароль”);

В Shop-script подключение настраивается в файле /cfg/connect.inc.php

define('DB_HOST', 'сервер');define('DB_USER', 'имя_пользователя');define('DB_PASS', 'пароль');define('DB_NAME', 'имя_базы_данных');

В ShopCMS база данных подключается в файле /core/config/connect.inc.php

define('DB_HOST', 'сервер');define('DB_USER', 'имя_пользователя');define('DB_PASS', 'пароль');define('DB_NAME', 'имя_базы_данных');

В WebAsyst всё немного сложнее. Там есть файл /dblist/логин.xml в котором за соединение с базой отвечают следующие параметры:

SQLSERVER=”сервер”DB_NAME=”имя_базы_данных”DB_PASSWORD=”пароль”DB_USER=”имя_пользователя”

а также в файле кеша /temp/scdb/.settings.логин дублируются эти же параметры:

“DB_USER” “имя_пользователя””DB_PASS” “пароль””DB_NAME” “имя_базы_данных””DB_HOST” “сервер”

В PrestaShop подключение настраивается в файле /config/settings.inc.php

define('_DB_NAME_', 'имя_базы_данных');define('_DB_SERVER_', 'сервер');define('_DB_USER_', 'имя_пользователя');define('_DB_PASSWD_', 'пароль');

В MODx подключение настраивается в файле /manager/includes/config.inc.php:

$database_server = 'сервер';$database_user = 'имя_пользователя';$database_password = 'пароль';$dbase = 'имя_базы_данных’;

  В Bitrix подключение настраивается в файле /bitrix/php_interface/dbconn.php:

$DBHost = “сервер”;$DBLogin = “имя_пользователя”;$DBPassword = “пароль”;$DBName = “имя_базы_данных”;

  В PHPShop подключение настраивается в файле phpshop/inc/config.ini:

host = “сервер”;user_db = “имя_пользователя”;pass_db = “пароль”;dbase = “имя_базы_данных”;

В HostCMS конфигурационный файл размещается в modules/core/config/database.php и содержит следующие настройки:

'driver' => 'mysql','host' => 'localhost','username' => 'srv83user','password' => 'megapassword','database' => 'hostcms'

В UMI реквизиты подключения в секции [connections] файла docs/config.ini: Код:

core.host = “адрес_сервера”core.login = “имя_пользователя”core.password = “пароль”core.dbname = “имя_базы_данных”

В phpBB файле docs/config.php:

$dbhost = 'адрес_сервера';$dbname = 'имя_базы_данных';$dbuser = 'имя_пользователя';$dbpasswd = 'пароль';

В NetCat соединение с базой данных настраивается в файле docs/vars.inc.php:

$MYSQL_HOST = “адрес_сервера”;$MYSQL_USER = “имя_пользователя”;$MYSQL_PASSWORD = “пароль”;$MYSQL_DB_NAME = “имя_базы_данных”;

В Amiro.CMS настройки соединения с базой данных устанавливаются в файле docs/_local/config.ini.php:

DB_Host = “адрес_сервера”DB_Database = “имя_базы_данных”DB_User = “имя_пользователя”DB_Password = “пароль”

Если ничего из перечисленного не подошло,то посмотрите название базы данных в панели управления на вкладке «Сайты и домены» → «Базы данных» после чего в консоли в директории httpdocs воспользуйтесь командой:

Читайте также:  Настройка мониторинга smart жесткого диска в zabbix

grep -r «название базы» .

Источник: https://support.rusonyx.ru/index.php?/Knowledgebase/Article/View/279

Настройка Debian 6 + PHP 5.4 + PHP-FPM + MySQL + Bitrix

Ниже приведен алгоритм настройки и конфиги #VPS с Debian 6 32bit, 128Мб оперативной памяти и 128Мб свопа для комфортной работы на нем 1C-Битрикс:Стандарт.

Обновление системы и настройка необходимых репозиториев

apt-get update && apt-get -y upgrade && apt-get -y install mc htop

Подключаем репозитории Dotdeb, для того что бы установить PHP5.4 + PHP-FPM:

  1. Добавьте в файл: /etc/apt/sources.list следующие строки:

deb https://packages.dotdeb.org squeeze all deb-src https://packages.dotdeb.org squeeze all

  1. Для инсталяции PHP 5.4 на Debian 6.0 “Squeeze” нужно добавить строки:

deb https://packages.dotdeb.org squeeze-php54 all deb-src https://packages.dotdeb.org squeeze-php54 all

    1. Установите ключи доступа к репозиторию GnuPG key

wget https://dotdeb.org/dotdeb.gpg cat dotdeb.gpg | sudo apt-key add –

  1. Обновите систему: # apt-get update && apt-get -y upgrade

Устновка и настройка PHP+NGINX+MYSQL

apt-get -y install mysql-server-5.5 nginx apt-get -y install php5-fpm php5-gd php5-curl php5-mcrypt php5-json php5-apc php5-mysql

Настройки PHP

/etc/php5/php.ini дописать в конец файла строки:

;allow_call_time_pass_reference = On ;bitrix-env max_execution_time = 300 ;bitrix-env error_reporting = E_ALL & ~E_NOTICE ;bitrix-env display_errors = On ;bitrix-env post_max_size = 24M ;bitrix-env enable_dl = Off ;bitrix-env upload_max_filesize = 24M ;bitrix-env ;define_syslog_variables = 1 ;bitrix-env mbstring.func_overload = 2 ;bitrix-env mbstring.internal_encoding = UTF-8 ;bitrix-env ;extension=geoip.so ;bitrix-env ;extension=xdebug.so ;bitrix-env ;mysql.default_socket = /var/lib/mysqld/mysqld.sock ;bitrix-env ;sendmail_path = msmtp -t -i ;bitrix-env session.save_path = /temp/sessions/ ;bitrix-env session.cookie_lifetime = 592000 session.gc_probability = 1 session.gc_divisor = 500 session.gc_maxlifetime = 104800 realpath_cache_size = 4096k ;bitrix-env max_file_uploads = 100 ;bitrix-env date.timezone = 'Europe/Moscow' ;sendmail_path = /usr/lib/sendmail -t -i -f [email protected]

Обратите внимание, что нужно создать папку для сессий: /temp/sessions/ — с правами на запись пользователю www-data.

в /etc/php5/mods-available/apc.ini дописать:

extension=apc.so apc.ttl = 30 apc.max_file_size = 4M

Настройка хоста /etc/php5/pool.d/www.conf сводится к исправлению работы через сокет, на TCP: Меняем:

listen = /var/run/php5-fpm.sock

на

listen = 127.0.0.1:9000

Настройки Mysql

[client] port = 3306 socket = /var/run/mysqld/mysqld.sock [mysqld_safe] socket = /var/run/mysqld/mysqld.sock nice = 0 [mysqld] # # * Basic Settings # user = mysql pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock port = 3306 basedir = /usr datadir = /var/lib/mysql tmpdir = /tmp # lc-message-dir is unknown to MySQL 5.

1 #lc-messages-dir = /usr/share/mysql skip-external-locking # # Instead of skip-networking the default is now to listen only on # localhost which is more compatible and is not less secure. bind-address = 127.0.0.

1 # # * Fine Tuning # table_open_cache = 256 key_buffer = 4M max_allowed_packet = 16M thread_stack = 192K thread_cache_size = 8 # This replaces the startup script and checks MyISAM tables if needed # the first time they are touched myisam-recover = BACKUP max_connections = 4 table_cache = 256 #thread_concurrency = 10 # # * Query Cache Configuration # query_cache_limit = 1M query_cache_size = 2M # # * Logging and Replication # # Both location gets rotated by the cronjob. # Be aware that this log type is a performance killer. # As of 5.1 you can enable the log at runtime! #general_log_file = /var/log/mysql/mysql.log #general_log = 1 # # Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf. # # Here you can see queries with especially long duration #slow_query_log = 1 #slow_query_log_file = /var/log/mysql/mysql-slow.log #long_query_time = 2 #log-queries-not-using-indexes # # The following can be used as easy to replay backup logs or for replication. # note: if you are setting up a replication slave, see README.Debian about # other settings you may need to change. #server-id = 1 #log_bin = /var/log/mysql/mysql-bin.log #expire_logs_days = 10 #max_binlog_size = 100M #binlog_do_db = include_database_name #binlog_ignore_db = include_database_name # # * InnoDB # # InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/. # Read the manual for more InnoDB related options. There are many! # # * Security Features # # Read the manual, too, if you want chroot! # chroot = /var/lib/mysql/ # # For generating SSL certificates I recommend the OpenSSL GUI “tinyca”. # # ssl-ca=/etc/mysql/cacert.pem # ssl-cert=/etc/mysql/server-cert.pem # ssl-key=/etc/mysql/server-key.pem innodb_flush_log_at_trx_commit = 2 innodb_flush_method = O_DIRECT transaction-isolation = READ-COMMITTED innodb_buffer_pool_size = 32M [mysqldump] quick quote-names max_allowed_packet = 16M [mysql] #no-auto-rehash # faster start of mysql but no tab completition [isamchk] key_buffer = 8M # # * IMPORTANT: Additional settings that can override those from this file! # The files must end with '.cnf', otherwise they'll be ignored. # !includedir /etc/mysql/conf.d/

Настройки Nginx

/nginx/nginx.conf

user www-data; worker_processes 1; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] “$request” ' '$status $body_bytes_sent “$http_referer” ' '”$http_user_agent” “$http_x_forwarded_for”'; access_log /var/log/nginx/access.log main; ## Proxy proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffers 8 16k; proxy_buffer_size 32k; ## Compression gzip on; gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; gzip_disable “MSIE [1-6].(?!.*SV1)”; ### TCP options tcp_nodelay on; tcp_nopush on; keepalive_timeout 10; sendfile on; # include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }

/etc/nginx/sites-enabled/default

server { listen 80; server_name domainname.ru; root /var/www; index index.php; access_log /var/log/nginx/$host-access.log; autoindex off; gzip on; # use gzip compression gzip_proxied any; # enable proxy for the fcgi requests location / { try_files $uri $uri/ @bitrix; } location ~ .php$ { # fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param DOCUMENT_ROOT $document_root; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param QUERY_STRING $args; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; fastcgi_param SERVER_NAME $server_name; fastcgi_param REQUEST_URI $request_uri; fastcgi_param DOCUMENT_URI $document_uri; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param REMOTE_ADDR $remote_addr; fastcgi_param REMOTE_USER $remote_user; fastcgi_intercept_errors on; fastcgi_ignore_client_abort off; fastcgi_connect_timeout 60; fastcgi_send_timeout 180; fastcgi_read_timeout 180; fastcgi_buffer_size 128k; fastcgi_buffers 4 256k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; } location @bitrix { #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root/bitrix/urlrewrite.php; } location ~* ^.+.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { access_log off; expires max; } location ~ (/.ht|/bitrix/modules|/upload/support/not_image) { deny all; } location ~ /.svn/ { deny all; } error_page 404 /404.html; location = /404.html { root /usr/share/nginx/html; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } }

Источник: https://doless.ru/bystryj-vvod-v-stroj-debian-6.html

Настройка MYSQL под Linux

Сегодня мы поговорим с Вами о настройке mysql под linux (unix, freebsd) на VPS/VDS сервере. Я не буду касаться аспектов установки mysql на сервер, благо, в интернете достаточно информации.

На Вашем сервере настройки mysql могут находиться или в /etc/my.cnf, или в /etc/mysql/my.cnf, в крайнем случае используйте команду locatefind или им подобные с заданным именем файла

Как изменить настройки mysql?

Итак, файл найден, открыть его можно непосредственно через mc (midnight commander) + F4 или же используя VI(vim): vi my.cnf.

В случае с mc перед Вами будет старый добрый «Norton Commander», если же Вы не знаете, как пользоваться vi, Вам поможет man vi

Когда требуется настройка mysql? Анализ нагрузки mysql

Подсоединитесь с правами администратора базы данных к консоли mysql или же выполните запрос любым удобным для Вас способом, например через phpmyadmin, запрос:

show processlist;

Все запросы к mysql для проверки значения (мониторинга) тех или иных параметров необходимо выполнять из под пользователя с правами администратора Вашего mysql сервера.

Итак, если после выполнения этого запроса Вы видите огромную очередь, то уже есть над чем задуматься. Если в очереди находится больше нескольких сотен запросов, точно требуется тонкая настройка mysql.

А также большое значение в колонке Time во времени выполнения этих запросов указывает на возникновение «медленных» запросов. Также показателем к оптимизации mysql может быть вывод команды top, выполненный через linux консоль.

Вводим в консоли Top, после чего на английской раскладке нажимаем «О», зажимаем «shift» и нажимаем «K» до тех пор, пока %CPU не окажется вначале списка. Зажимаем «shift» и «N» и двигаем в начало списка %MEM. После чего нажимаем «Enter».

Если во главе списка у Вас оказывается «mysql» и показатели в столбце %CPU и %MEM довольно существенны (под 100% загрузка на процессор и почти полностью используется память), Вам точно необходима оптимизация mysql.

Тонкая настройка mysql. Кэширование средствами mysql

Перейдем к тюнингу mysql. Откройте файл my.cnf. Найдите раздел mysqld, все последующие переменные мы будем размещать именно в этом разделе, после строки:

[mysqld]

Настраиваем кэш MYSQL

Внутренний кэш запросов mysql:

Query_cache_limit — «ограничиться» максимальным размером данных, которые можно поместить в кэш. Скажу Вам по опыту, в очень редких ситуациях «mysql» запросы будут возвращать данные размером больше 10 MB. Обычно и размера в 2-6 MB хватит с головой.

Например, укажите в my.cnf:

Query_cache_limit = 6MB

Query_cache_size – здесь Вы можете указать, сколько памяти выделить для внутреннего кэша запросов «mysql». В кэш будет добавляться результат запроса целиком («таблица», полученная в результате запроса).

Например, укажите в my.cnf:

Query_cache_size = 64M

Выбор значения query_cache_size

Совет первый: не указывайте слишком большое значение query_cache_size. Обычно указывается значение, равное одной десятой, одной пятой от размера доступной физической оперативной памяти.

Совет второй: указание также большого значения может существенно снизить эффективность использования кэша при частом обращении к нему при поиске данных.

Тем более, если максимальный размер данных для помещения в кэш ограничен слишком «малым» значением query_cache_limit: поиск среди блоков небольших фрагментированных данных становится гораздо медленнее при большем объеме используемой памяти.

Как оптимально подобрать значения для query_cache_size, query_cache_limit?

После настройки my.cnf и перезапуска mysql (обычно: /etc/init.d/mysql restart, /etc/rc.d/mysql restart).

Совет: впрочем, перезапускать mysql после изменения my.cnf нет надобности. Достаточно войти в консоль управления mysql с правами администратора или корневого пользователя root и выполнить запрос на изменение тех или иных переменных.

set @@global.[название] =[новое значение my.cnf];

Например, для query_cache_size:

set @@global.query_cache_size=64*1024*1024;

Какие mysql запросы не кэшируются (qcache_not_cached)?

  • insert, update запросы, по существу они приводят к очистки кэша таблицы, для которой выполняются;
  • запросы с применением пользовательских функций и процедур;
  • запросы, использующие временные таблицы;
  • запросы с включением локальных переменных;
  • запросы, использующие SELECT … FOR UPDATE, SELECT … INTO OUTFILE, SELECT … IN SHARE MODE, SELECT * FROM … WHERE autoincrement_col IS NULL, SELECT … INTO DUMPFILE;
  • запросы без обращения к таблицам;
  • запросы с включением некоторых недетерминированных функций: SLEEP(), NOW(),CURTIME(), LAST_INSERT_ID(), RAND();
  • в случае, если пользователь имеет права только на часть таблицы: некоторые ее колонки и т.п.
  • запросы с генерацией предупреждений (warnings).

Через сутки – другие зайдите в консоль управления mysql или выполните запрос любым, удобным для вас способом:

Источник: https://awesome-design.com/optimizatsiya-sajta/nastrojka-mysql-pod-linux/

Ссылка на основную публикацию