Оптимизация MySQL c помощью phpmyadmin и mysqltuner!

Оптимизация MySQL c помощью phpmyadmin и mysqltuner!

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

Начнем пожалуй с phpmyadmin. Данный сервис может дать совет по оптимизации MySQL. Для начала нужно зайти в phpmyadmin, можно рута или от любого пользователя БД, далее ищем вкладку «Состояние», потом «Советчик». Смотрим что нам предлагают изменить:

Проблема:

Значение "long_query_time” равно 10 секундам или более, выходит, что только медленные запросы, которые больше по времени за 10 секунд, будут записаны в журнал.

Рекомендации по устранению проблемы:

Нужно понизить значение параметра long_query_time.

Предлагается оставить параметр равным 1-5 секунд.

Если решили прислушаться к совету, то заходим в конфигурационный файл MySQL:

vi /etc/my.cnf

И добавляем в него строки

long_query_time = 3

log-slow-queries = /var/log/mysql/mysql-slow.log

После чего сохраните файл и закройте его. Перегрузите сервер MySQL

/etc/init.d/mysqld restart

Все готово.

Теперь давайте познакомимся с утилитой Mysqltuner. Данный скрипт — собирает и выводит анализ работы Mysql, также как и советчик скрипт напишет вам, что лучше сделать для оптимизации Mysql.

Устанавливаем mysqltuner:

yum -y install mysqltuner

Запуск скрипта:

mysqltuner --user root --pass rootpassword

Запуск может быть просто mysqltuner, зависит от того как была установлена утилита.

Смотрим отчет:

В графе Recommendations смотрим те параметры, которые нам советуют изменить.

Если же какого то параметра не найдете в конфигурационном файле my.cnf - не отчаивайтесь, просто допишите его в свободной строчке.

Заходим в /etc/my.cnf, делаем изменения.

/etc/init.d/mysqld restart

Готово. Теперь наш MySQL сервер оптимизирован.