Ошибка max_allowed_packet при восстановлении базы MySQL

Если Вы читаете эту заметку, значит вы столкнулись со следующей ошибкой при восстановлении базы MySQL:

Got a packet bigger than 'max_allowed_packet'

Побороть ее можно несколькими способами. Самый простой - передать размер max_allowed_packet аргументом к mysql:

mysql -uroot -p -max_allowed_packet=100M **база** < **дамп**.sql

Если не сработает, тогда подключаемся к консоли:

mysql -uroot

Обновляем глобальное значение max_allowed_packet:

set global max_allowed_packet=1000000000;

Это значение будет активно в рамках вашей сессии в консоли mysql. Как только вы разорвете соединение с mysql оно обнулится к стандартному значению. Поэтому базу нужно восстанавливать в рамках этой же сесии:

use база  
source дамп.sql

Для закрепления настроек стоит обновить конфиг mysql (/etc/my.cnf). Добавте следующее в секцию [server]:

max_allowed_packet=100M

Categories:

Updated: