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];- структура таблицы
SELECT User, Host FROM mysql.user;- посмотреть юзеровCREATE USER 'username'@'localhost' IDENTIFIED BY 'password';- создать пользователя, может коннектиться к базе только черезlocalhost-
DROP USER 'postfix'@'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