В данной статье рассмотрены полезные сочетания команд ОС Linux, которые помогут работать с MySQL, в частности созданием и загрузком дампа, на серверах хостинга и VDS.
Более подробную информацию о каждой из команд можно получить, набрав man имя_команды
Если у Вас есть объемный дамп базы или таблица из MySQL (например, файл имеет имя dump.sql) и через phpMyAdmin не получается импортировать его в базу database
, это можно сделать через консоль:
mysql -u user -p database < dump.sql
Сделать дамп базы данных database
или таблицы table
и поместить его в файл с именем dump.sql можно следующим образом:
mysqldump -u user -p database > dump.sql
mysqldump -u user -p database table > table.sql
Создать дамп всех баз данных аккаунта в единый файл, может понадобиться при смене тарифного плана:
mysqldump --all-databases -u user -p > all_dump_DB.sql
Загрузка дампа базы с опцией величина пакета, если возникает ошибка Got a packet bigger than 'max_allowed_packet' bytes
:
mysql --max_allowed_packet=64M -u user -p database < dump.sql
Создание дампа с указанием кодировки, например utf8
:
mysqldump -u user -p database --default-character-set=utf8 > dump.sql
Если на сервере возникают проблемы с производительностью, то весьма вероятно, что причинами их является сервер MySQL. Ниже приведены некоторые команды, которые могут помочь идентифицировать проблему (большинство действий могут быть выполнены только на VDS).
** Обзор списка выполняющихся процессов **
# mysql
mysql> show full processlist;
Особое внимание следует обратить на запросы, находящиеся в состоянии “copying to temp table”, если такие присутствуют.
** Получение списка медленных запросов **
MySQL может быть настроен таким образом, чтобы он сохранял информацию обо всех
запросах, исполняющихся больше 10 секунд (настраивается). Лог находится в файле
/var/log/mysql/mysql-slow.log
. Если такого файла на сервере нет, достаточно
раскомментировать опцию log_slow_queries
в файле /etc/mysql/my.cnf
(или
добавить, если таковая отсутствует), а затем перезапустить сервер командой
invoke-rc.d mysql restart
Строка должна выглядеть следующим образом:
log_slow_queries = /var/log/mysql/mysql-slow.log`
Тарифы на облачные VDS и VPS