Шпаргалка часто используемых команд MySQL

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

 

Перезагрузить сервер MySQL в старых системах без systemd, например CentOS 5 или 6:

service mysqld restart

Перезагрузить сервер MySQL в новых системах где уже есть systemd, например CentOS 7 и выше:

systemctl restart mysqld
или может быть любой форк, например
systemctl restart mariadb

 

Посмотреть список всех баз на сервере:

mysql> SHOW DATABASES;

 

Узнать сколько памяти занимают все базы на сервере в подробном списке:

mysql> SELECT table_schema "database_name", sum( data_length + index_length )/1024/1024 "database size in MB" FROM information_schema.TABLES GROUP BY table_schema;

+--------------------+---------------------+
| database_name | database size in MB |
+--------------------+---------------------+
| information_schema | 0.00781250 |
| drive | 2326.64943314 |
| drive_430 | 491.87280369 |
| drive_440 | 942.96875000 |
| drive_global | 0.07113266 |
| mysql | 0.61696053 |
+--------------------+---------------------+
6 rows in set (0.01 sec)

 

Проверить поддержку включенных движков, например  InnoDB:

mysql> SHOW ENGINES;

 

Запустить оптимизацию и восстановление всех таблиц во всех базах данных на всём сервере сразу одной командой:

mysqlcheck --all-databases -o -r -uroot -p

 

Установить и запустить mysqltuner:

  1. Поискать в репозитории нашего дистрибутива, если там нет переходим к пункту 2
  2. wget http://mysqltuner.pl/

     и запустить

    perl mysqltuner.pl

Работа с бекапами

Делаем бекап

mysqldump -u USER -pPASSWORD DATABASE > /path/to/file/dump.sql

Создаём структуру базы без данных

mysqldump --no-data - u USER -pPASSWORD DATABASE > /path/to/file/schema.sql

Если нужно сделать дамп только одной или нескольких таблиц

mysqldump -u USER -pPASSWORD DATABASE TABLE1 TABLE2 TABLE3 > /path/to/file/dump_table.sql

Создаём бекап и сразу его архивируем

mysqldump -u USER -pPASSWORD DATABASE | gzip > /path/to/outputfile.sql.gz

Создание бекапа с указанием его дат

mysqldump -u USER -pPASSWORD DATABASE | gzip > `date +/path/to/outputfile.sql.%Y%m%d.%H%M%S.gz`

Заливаем бекап в базу данны

mysql -u USER -pPASSWORD DATABASE < /path/to/dump.sql

Заливаем архив бекапа в базу

gunzip < /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE

или так

zcat /path/to/outputfile.sql.gz | mysql -u USER -pPASSWORD DATABASE

Шпаргалка часто используемых команд MySQL: 1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *