
Часто необходимо добавить базу данных и пользователя MySQL через командную строку. В данной заметке разберем основные команды для работы с MySQL с консоли. А именно: подключение, создание базы, предоставление прав пользователю, просмотр списка баз данных, загрузка базы данных из дампа, а также удаление базы данных.
Создаем новую базу MySQL и пользователя
Новую базу данных и нового пользователя mysql с полными правами на только что созданную базу:
mysql -u <login> -P <password>
CREATE DATABASE <DB_NAME>;
GRANT ALL PRIVILEGES ON <DB_NAME>.* TO 'my_user'@'localhost' IDENTIFIED BY 'my_password' WITH GRANT OPTION;
Не забываем завершать команды mysql точкой с запятой. Обычно имя администратора root.
При этом доступ к базе для данного пользователя возможен только с localhost. Если вы хотите дать ему доступ к базе с любого хоста, используете % вместо localhost:
GRANT ALL PRIVILEGES ON <DB_NAME>.* TO 'my_user'@'%' IDENTIFIED BY 'my_password' WITH GRANT OPTION;
Просмотр списка баз, удаление базы.
Эта команда предназначена для просмотра доступных баз данных и таблиц в конкретных базах данных. Для просмотра списка баз данных необходимо ввести такую команду:
SHOW DATABASES;
удаление базы данных MySQL
DROP DATABASE <base>;
Команда USE служит для выбора этой активной базы
USE <base>;
Для просмотра списка таблиц используется эта же команда в таком виде:
SHOW TABLES;
Просмотр данных
SELECT * FROM <base>;
Как создать дамп базы данных MySQL и восстановить базу из дампа.
Дамп базы сохраняется утилитой коммандной строки mysqldump:
mysqldump --quick -u<логин> -p -h<хост> -P<порт> <база> > database.sql
Дамп всех баз данных одновременно (с блокировкой таблиц на время дампа):
mysqldump -h<хост> -uroot -P<порт> -p<пароль> --all-databases --quick --lock-tables --extended-insert > backupalldb.sql
Восстановление базы из дампа происходит с использованием утилиты mysql:
mysql -u<логин> -p -h<хост> -P<порт> -D <base> < database.sql
или так
mysql <base> -u <логин> -p <пароль> < dump.sql
либо так
mysql -u <логин> -p <пароль>
use <base>;
\. /<path>/dump.sql