34 слов | 1 минута

Шпаргалка по MySQL

Справочник основных команд MySQL: управление сервисом, базами данных, пользователями и экспортом.

Управление сервисом

systemctl restart mysql
systemctl status mysql

Базы данных

-- Список баз
SHOW DATABASES;

-- Создание базы
CREATE DATABASE my_database;

-- Удаление базы
DROP DATABASE my_database;

Пользователи

-- Список пользователей
SELECT user, host FROM mysql.user;

-- Создание пользователя
CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';

-- Удаление пользователя
DROP USER 'user'@'localhost';

Привилегии

-- Выдача отдельных прав
GRANT SELECT, INSERT ON my_database.* TO 'user'@'localhost';

-- Полный доступ к базе
GRANT ALL PRIVILEGES ON my_database.* TO 'user'@'localhost';

-- Отзыв прав
REVOKE SELECT, INSERT ON my_database.* FROM 'user'@'localhost';

-- Применить изменения без перезапуска
FLUSH PRIVILEGES;

SSH-туннель для удалённого подключения

Пробрасывает удалённый порт MySQL на локальный 3306:

ssh -N -f -L 3306:127.0.0.1:3306 root@192.168.1.1

# Завершить туннель
sudo killall ssh

Экспорт и импорт

# Экспорт базы в дамп
mysqldump --no-tablespaces -u username -p"password" -R db_name > db.sql

# Импорт дампа в новую базу
mysql -u username -p"password" new_db_name < old_dump.sql