Mysql导入sql文件可能出现的问题
Mysql导入sql文件可能出现的问题
1. 可能出现的错误
本地导入sql文件时,出现'MySQL server has gone away'的错误
2. 问题分析
'MySQL server has gone away' 的问题意思就是指client和MySQL server之间的链接断开了。造成这样的原因一般是sql操作的时间过长,或者是传送的数据太大。mysql根据配置文件会限制server接受的数据包大小。有时候大量数据的插入和更新会受max_allowed_packet 参数限制,导致写入或者更新失败。
3. 解决办法
查看目前配置:show VARIABLES like '%max_allowed_packet%';
以上说明目前的配置是:1M(1024*1024)
4. 修改方法
1)修改配置文件(永久生效,需要重启才能生效)
编辑mysql的配置文件my.ini或者my.cnf(不同环境,mysql配置文件的后缀名可能不同)
max_allowed_packet = 20M(最大可输入256M即256*1024*1024)
2)命令行修改 (临时生效,好处是不用重启mysql,下次重启失效)
在mysql 命令行中运行:
set global max_allowed_packet = 20M(最大可输入256M),然后退出命令行,重启mysql服务,再进入。
在命令行下改配置项的时候使用set global或者set session,设置完查看如果不生效只需退出命令行重新进入。
3) 有时如果文件太大,需要配置这三项:
interactive_timeout = 120
wait_timeout = 120
max_allowed_packet = 32M