MariaDB
MariaDB#
mysql -u [user] -p
- локальное подключение к серверуmysql -h [host] -P [port] -u [user] -p
- удалённое подключение к серверу
SHOW DATABASES;
- показать все бдCREATE DATABASE [db_name];
- создать бдDROP DATABASE [db_name];
- удалить бд
USE [db_name];
- использовать бдSHOW TABLES;
- показать таблицыDROP TABLE [table_name];
- удалить таблицуTRUNCATE TABLE [table_name];
- очистить таблицу (удалить все данные)DESCRIBE [table_name]
илиSHOW COLUMNS FROM [table_name];
- структура таблицы
-
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
- создать пользователя, может коннектиться к базе только черезlocalhost
-
Права
REVOKE INSERT ON [db_name].[table_name] FROM 'username'@'localhost';
- отозвать праваFLUSH PRIVILEGES;
- обновить праваRENAME USER 'user1'@'localhost' TO 'user1'@'192.168.1.100';
- изменить пользователя (имя, доступ с какого хоста)DROP USER 'username'@'localhost';
- удалить пользователяSELECT user, host FROM mysql.user;
- список пользователей и хостов
-
Изменение таблицы
-
Пример запроса на чтение данных
-
Обновить данные
-
Удалить данные
- Индексы
mysqldump -u [user] -p [db_name] > backup.sql
- резервное копирование бд (-p --all-databases
- все бд)mysql -u [user] -p [db_name] < backup.sql
- восстановление бд
mariabackup --backup --user=[user] --password=[password] --target-dir=/backup/
- бэкап быстрее, бинарный формат, не блокирует таблицы, перед восстановлением необходимо завершить все транзации -mariabackup --prepare --target-dir=/backup/
- Восстановление бэкапа
-
План выполнения запроса
-
Выполняет запрос и показывает фактический план выполнения с реальными метриками (время, количество строк и т.д.)
-
SHOW PROFILE
Показывает профиль выполнения запроса
SHOW PROFILE
SHOW PROFILE — это инструмент для анализа времени выполнения отдельных этапов запроса. Показывает, сколько времени заняла каждая операция (например, парсинг, выполнение, отправка данных).
| Status | Duration |
| starting | 0.000123 |
| checking permissions | 0.000045 |
| Opening tables | 0.000067 |
| init | 0.000034 |
| System lock | 0.000023 |
| optimizing | 0.000056 |
| executing | 0.000078 |
| Sending data | 0.001234 |
| end | 0.000045 |
| query end | 0.000034 |
| closing tables | 0.000023 |
| freeing items | 0.000045 |
| cleaning up | 0.000034 |
-
Показывает активные соединения и выполняемые запросы.
-
Показывает статус InnoDB, включая информацию о блокировках, транзакциях и буферах.
-
Показывает статистику сервера
-
Завершает выполнение запроса по его ID.
-
Перестраивает таблицу и освобождает неиспользуемое пространство.
-
Обновляет статистику для оптимизатора.
-
Проверяет целостность таблицы.
-
Логирование медленных запросов
-
Показывает статистику выполнения запросов.
Настройки#
SHOW VARIABLES;
- посмотреть текущие настройки
Конфиги
Основной конфиг: /etc/my.cnf
или /etc/mysql/my.cnf
Дополнительные конфиги: /etc/mysql/conf.d/
или /etc/mysql/mariadb.conf.d/
Пример структуры:
Логи
Общий лог: /var/log/mysql/mysql.log
(логирует все запросы).
Лог ошибок: /var/log/mysql/error.log
(или /var/log/mariadb/mariadb.log
)
Бинарный лог (журнал транзакций): /var/lib/mysql/mysql-bin.*
(включает все изменения данных)
mysqlbinlog /var/lib/mysql/mysql-bin.000001
- для просмотра бинарных логов
Лог медленных запросов: /var/log/mysql/mysql-slow.log
По умолчанию данные лежат в /var/lib/mysql/
Можно посмотреть в конфиге параметр datadir