最近工作中还原mysql数据库时,导入超大sql文件时报错,超出max_allowed_packet 的问题,在此记录下解决办法。
1、查询mysql当前'max_allowed_packet'配置:
mysql> show variables like 'max_allowed_packet';
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 4194304 |
+--------------------+---------+
1 row in set (0.00 sec)
————————————————
查询显示当前默认为4194304,修改该参数即可,方法有一下两种:
2、修改参数
1)方法一:通过命令行临时修改,缺点(临时使用,下次再使用仍需要设置),优点:无需重启mysql
mysql> set global max_allowed_packet = 500 * 1024 * 1024;
2)方法二:修改mysql配置文件(windows下my.ini,linux下my.cnf)
在[mysqld]段或者mysql的server配置段进行修改。
max_allowed_packet = 500M
修改完成后重启mysql即可。