关于MySql导入数据报错:MySql Server has gone away No connection .Try to connection…
由于公司最近在做MySql数据库的迁移工作,碍于人手不够只好让我来搞了。在将数据还原到新的服务器上面的时候报错了:
MySql Server has gone away No connection .Try to connection…
Connection id: 11
Current database: dbName
刚开始我以为是数据导入超时导致的,调整相关参数后依旧报错如初。因为的备份的数据库脚本足足有5个G大,所以我查了一下相关的sql脚本过大时出现的错误解决办法,原来是MySql中的这个参数max_allowed_packet导致的,它的默认值如下:
mysql> show global variables like ‘max_allowed_packet’;
±-------------------±--------+
| Variable_name | Value |
±-------------------±--------+
| max_allowed_packet | 4194304 |
±-------------------±--------+
也就是说max_allowed_packet的默认值只有4M大。所以接下来要做的事情可想而知,就是需要将这个值调整为:1024 * 1024 * 1024 * 5(着里解释一下,因为我的sql脚本文件是5G的大小,所以按照需求我应该将这个参数调整为:5368709120),如下:
mysql> use databaseName
mysql> set global max_allowed_packet=5368709120;
Query OK, 0 rows affected (0.00 sec)
mysql> show global variables like ‘max_allowed_packet’;
±-------------------±----------+
| Variable_name | Value |
±-------------------±----------+
| max_allowed_packet | 5368709120 |
±-------------------±----------+
1 row in set (0.00 sec)
至此,数据就可以正常的导入了。坑是真的踩不完呐!
参考:https://blog.csdn.net/fdipzone/article/details/51974165
须交有道之人,莫结无义之友。饮清静之茶,莫贪花色之酒。开方便之门,闲是非之口。