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

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

MySQL

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

service mysqld restart

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

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

 

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

Для создания базы данных используется команда CREATE DATABASE. Она имеет следующий синтаксис:

CREATE DATABASE [IF NOT EXISTS] имя_базы_даных;
 В конце команды указывается имя базы данных.

Первая форма CREATE DATABASE имя_базы_даных пытается создать базу данных, но если такая база данных уже существует, то операция возвратит ошибку.

Вторая форма CREATE DATABASE IF NOT EXISTS имя_базы_даных пытается создать базу данных, если на сервере отсутствует бд с таким именем.

Установка связи с базой данных

После создания БД с ней производятся различные операции: создание таблиц, добавление и получение данных и т.д. Но чтобы установить производить эти операции, надо установить определенную базу данных в качестве используемой. Для этого применяется оператор USE:

USE Имя_БД;

Удаление базы данных

Для удаления базы данных применяется команда DROP DATABASE, которая имеет следующий синтаксис:

DROP DATABASE [IF EXISTS] имя_базы_даных;
 Первая форма DROP DATABASE имя_базы_даных пытается удалить базу данных, но если такая база данных отсутствует на сервере, то операция возвратит ошибку.

Вторая форма DROP DATABASE IF EXISTS имя_базы_даных пытается удалить базу данных, если на сервере имеется бд с таким именем.

 

Другие полезные команды для работы с БД

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

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

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

  • 07.09.2020 в 14:56
    Permalink

    вот так работает.

    wget —no-check-certificate http://mysqltuner.pl/

    Иначе ругается на сертификат сайта.

    Ответ
  • 02.03.2021 в 23:47
    Permalink

    Это надо в закладки точно добавить!

    Ответ

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

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

Похожие записи: