因工作需要,需要导入一个左右的sql用户库到
执行命令
mysql>使用用户 数据库修改 mysql>源/tmp/用户。sql
导入的过程中出现错误,数据导入失败。
错误信息如下:
错误2006 (HY000): MySQL服务器已经awayERROR 2006 (HY000): MySQL服务器已经消失 没有连接。尝试重新连接… 11当前数据库连接id:: userERROR 2006 (HY000): MySQL服务器已经消失 没有连接。尝试重新连接… 当前数据库连接id: 12: userERROR 2006 (HY000): MySQL服务器已经awayERROR 2006 (HY000): MySQL服务器已经消失 没有连接。尝试重新连接… 连接id: 13当前数据库:用户
开始以为是超时导致,因此调大了和的值。
重新执行后问题依旧。
查看资料,发现了参数,
官方解释是适当增大参数可以使客户端到服务器端传递大数据时,系统能够分配更多的扩展内存来处理。
查看mysql max_allowed_packet的值
mysql>显示全局变量就像& # 39;max_allowed_packet& # 39;; + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | Variable_name | |值 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | max_allowed_packet | 4194304 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
可以看到是,然后调大为(1024 * 1024 * 256)
mysql>集全球max_allowed_packet=268435456; 查询好,0行影响mysql>(0.00秒);显示全局变量就像& # 39;max_allowed_packet& # 39;; + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | Variable_name | |值 + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + | max_allowed_packet | 268435456 | + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + 1行组(0.00秒)
修改后执行导入,一切正常,解决问题。
使用集全球命令修改max_allowed_packet的值,重启mysql后会失效,还原为默认值。
如果想重启后不还原,可以打开文件,添加即可。
本篇讲解了mysql导入大批量数据出现mysql服务器已经消失的解决方法,更多相关内容请关注。