Batch mode в MySQL — режим выполнения команд не из интерактивной оболочки, а из заранее созданного скрипта. Все команды, которые требуется выполнить последовательно заносятся в файл. Затем путь к файлу указывается MySQL.
Batch mode может быть полезен если требуется о одному образцу настроить определенное количество нод MySQL сервера. ПО сути batch файл является аналогом стандартного bash скрипта.
Batch mode MySQL
Выполняются команды из файла таким образом:
mysql -h host -u user -pPASSWORD < file
PASSWORD можно задать или сразу в консоли или ввести в возникающем после выполнения команды диалоге.
Создадим тестовый файл передавая команды серверу баз данных из которого создадим базу и таблицу.
mcedit batch
drop database lessontest;
create database lessontest;
use lessontest;
create table lessontesttable(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);
quit
Теперь передадим файл в MySQL указав имя пользователя
mysql -u root -p < batch
Enter password: ********
Поскольку пароль в команде не указан вводим его.
Пример вывода приведен на скриншоте:
Затем можно зайти в консоль MySQL и посмотреть появились ли база и таблица
mysql> show databases;
+———————+
| Database |
+———————+
| information_schema |
| REAL_ESTATE_AGENCY |
| mysql |
| performance_schema |
| lessontest |
+———————+
5 rows in set (0.00 sec)
mysql> show tables;
+——————+
| Tables_in_lessontest |
+——————+
| lessontesttable |
+——————+
1 row in set (0.00 sec)
При работе с MySQL в batch mode можно использовать ключ --force
. С ним будут подавляться все сообщения о возникающих ошибках.
Файл является просто набором инструкций, если синтаксис одной из них не верен, но ее выполнение в целом не критично можно добавить этот ключ.
MySQL в этом случае завершит обработку файла, в общем случае выполнение команд прервется как только будет обнаружена первая инструкция с неверным синтаксисом.
Читайте про то как сменить root пароль MySQL. Это требуется если актуальный пароль неизвестен и нет возможности попасть в консоль.