数据库执行较大SQL脚本的问题-MySQL server has gone away

1、该问题是max_allowed_packet配置的默认值设置太小,只需要相应调大该项的值之后再次导入便能成功。

2、该项的作用是限制mysql服务端接收到的包的大小,因此如果导入的文件过大则可能会超过该项设置的值从而导致导入不成功。

3、查看 max_allowed_packet 的值

show global variables like 'max_allowed_packet';

4、设置 max_allowed_packet 的值,例如:设置成100M(1024*1024*100)

set global max_allowed_packet = 104857600;

 5、请注意通过在执行如上命令进行设置只对当前有效,重启mysql服务之后则恢复默认值,但可以通过修改配置文件(可以在配置文件my.cnf中添加max_allowed_packet=100M即可)来达到永久有效的目的,可其实我们并不是经常有这种大量数据的导入操作,所以个人觉得通过命令行使得当前配置生效即可,没有必要修改配置文件。

6、

        1.如果sql脚本少于1G,可以通过修改max_allowed_packet参数,重启mysql服务,在客户端执行导入成功。

        2.如果超过1G,需要在服务端使用命令行导入。

        3.如果只需要导入部分数据,使用UltraEdit打开sql脚本,找出需要的内容,在客户端执行导入即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
错误信息"2006 - MySQL server has gone away"表示MySQL服务器连接已断开。这种情况通常发生在执行大型SQL文件时,其中的查询超过了MySQL服务器的最大包大小。默认情况下,客户端和服务器的最大包大小都是16M。解决这个问题的一个方法是增大max_allowed_packet参数的值。可以通过执行"show global variables like 'max_allowed_packet';"命令来查看当前的max_allowed_packet值。然后,可以通过修改配置文件或者在SQL会话中使用SET命令来增大这个值。另外,也可以考虑调整net_buffer_length参数的值,以便更好地适应大型SQL文件的执行。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [2006 - MySQL server has gone away](https://blog.csdn.net/qq_43753724/article/details/120822889)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [MySQL教学源码-MySQL入门教程.zip](https://download.csdn.net/download/qq_53122658/88218729)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值