Иногда необходимо выгрузить dump базы данных (в нашем случае MySQL) через консоль. Для такой задачи необходимо зайти на сервер через протокол SSH и выполнить следующую команду (предварительно выгрузив на сервер файл с дампом базы данных MySQL):
mysql -u username -p database_name < file.sql
Где -u — указываем, что далее будет следовать имя пользователя БД
-p — указываем, что необходим ввод пароля для пользователя БД
database_name — имя базы данных, в которую необходимо выгрузить наш дамп
file.sql — полный путь к файлу с дампом базы данных.
Однако иногда, крайне редко, можно столкнуться со следующей ошибкой:
ERROR 1153 (08S01) at line 621: Got a packet bigger than 'max_allowed_packet' bytes
Для решения этой проблемы необходимо добавить следующую команду в строку запроса:
--max_allowed_packet=10M
где 10М — это необходимый размер памяти, выделяемый и разрешенный для выполнения операции.
Теперь наша строка запроса будет выглядеть следующим образом:
mysql --max_allowed_packet=10M -u username -p database_name < file.sql
UPDATE:
Также стоит указать, что если вы используете систему на основе MacOS (технику эппл, короче говоря), то с высокой вероятностью mysql нужно будет заменить на полный путь
/Applications/MAMP/Library/bin/mysql
В итоге код у нас получится такого плана:
/Applications/MAMP/library/bin/mysql --max_allowed_packet=128M -u username -p database_name < file.sql
У нас поставлен лимит 128Мб потому, что у нас база большего размера. В вашем случае вам необходимо будет установить необходимый вам лимит.
Добавить комментарий