Полезные команды для проверки работы MySql

0
216

Собрал список, который занимал у меня штук 30 открытых вкладок. Когда я понял, что сил по ним бегать нет, то решил собрать такой материал, в котором будут все необходимые команды для проверки работы базы данных Mysql и тестирования различных параметров. Теперь постараюсь всё это собрать воедино и сохранить. Кто читал предыдущую мою статью про настройки my.cnf тот уже видел, что я активно занимаюсь оптимизацией базы данных.

Mysqltuner команды проверки и реагирования

Название конечно звучит странно, но в этой части статьи именно все команды для проверки работы Mysql с помощью mysqltuner и соответственно необходимые команды для того, чтобы устранить некоторые проблемы. 

Что такое mysqltuner думаю обьяснять не надо, как и его задачу – проверку Mysql параметров. Зачастую кстати он выдаёт одинаковые рекомендации, но чтобы запустить его надо просто в командной строке набрать

# mysqltuner

Оптимизация всех баз данных

После этого начнется проверка параметров Mysql и появится вывод информации. Как правило в самом начале выходят данные о фрагментации баз данных, их необходимо оптимизировать. Для этого вводим в командную строку следующую команду:

Восстановление & Оптимизация
mysqlcheck -Aor -p
Только воcстановление
mysqlcheck -Ar -p
Только оптимизация
mysqlcheck -Ao -p

Описание аргументов:
-A – Проверить на ошибки все Mysql базы данных
-r – Отремонтировать все Mysql базы данных
-o – Оптимизировать все Mysql базы данных
-p – Для доступа к базе используется пароль

После этого начинается оптимизация баз данных, которые имеют не оптимизированные таблицы. 

Вывод данных состояния MYSQL

Теперь следующий блок запросов, которые вводятся в Mysql для вывода данных о состоянии переменных

show status LIKE "Key%"; – выводит данные о состояние буфера ключей

show status LIKE "Opened_tables%"; – выводит данные об открытых таблицах

show status LIKE "Threads_running%" – вывод данных исходя из параметров умножения количества threads на параметры sort_buffer

show status LIKE "Max_used_connections%"; – данные о максимальном количестве одновременных подключений к базе. Помогает настроить максимальное количество подключений. 

SHOW STATUS LIKE 'Qcache%'; – выводит данные о работе кеша определенного query_cache_limit и query_cache_size. 

show processlist; – данные о процессах Mysql

FLUSH QUERY CACHE – дефрагментировать кэш Mysql

Оптимизация медленных запросов Mysql

Следующая часть посвящена тому, как определить медленные запросы к Mysql и анализировать их.

Для начала снова обратимся к файлу конфигурации MySQl – my.cnf. Здесь необходимо обратить внимание на такой пункт настроек, как лог медленных запросов. Выглядит он так:

#log_slow_queries = /var/log/mysql/mysql-slow.log

#long_query_time = 15

#log-queries-not-using-indexes

Здесь вы видите 3 пункта. Определение где будет храниться лог запросов, определение количества секунд выполнения запроса, которые должны заноситься в лог и указание записывать отсутствие индексов у баз данных. Включаем все три и через некоторое время проводим анализ с помощью команды:

mysqldumpslow -s c -t 10

Эта команда выведет 10 самых медленных запросов. Если изменить цифру соответственно выведется нужное количество запросов сортировкой по самому долгому выполнению. После этого вы уже сможете анализировать их и оптимизировать скрипты. 

ОСТАВЬТЕ ОТВЕТ

Отправить комментарий?
Напишите ваше имя