packet导致sql文件source异常问题解决

今天通过MySQLdump导出数据,在目标机器上开个screen执行source导入数据。过一会看了下,发现居然导入报错了。报错提示如下:

packet导致sql文件source异常问题解决

刚开始还以为是sql_mode设置的问题,改了sql_mode为宽松模式,再次导入还是报错。

网上查了下,MySQL恢复数据库时出现如下错误:
ERROR 1231 (42000): Variable ‘time_zone’ can’t be set to the value of ‘NULL’
ERROR 1231 (42000): Variable ‘sql_mode’ can’t be set to the value of ‘NULL’
ERROR 1231 (42000): Variable ‘foreign_key_checks’ can’t be set to the value of ‘NULL’
ERROR 1231 (42000): Variable ‘unique_checks’ can’t be set to the value of ‘NULL’
ERROR 1231 (42000): Variable ‘character_set_client’ can’t be set to the value of ‘NULL’
Query OK, 0 rows affected (0.00 sec)

解决方式:
mysql> set global max_allowed_packet=1000000000;
mysql> source ./my_db.sql;

-----------------------------------------------------------------------------------

set global max_allowed_packet=524288000;    设置为512MB

退出mysql,然后再登进去source即可。

究其原因,是因为之前安装的这个mysql,什么参数都没有修改,用的默认配置,各种参数都设置的比较小。我们还要根据自己业务场景和硬件配置完善下/etc/my.cnf。不然下次还会遇到这个问题。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/b987bc0676563a224e574cc27aefc384.html