Error Code: 2006 - MySQL 5.7 server has gone away

使用 Navicat 执行 sql 脚本失败

出现 Error Code: 2006 - MySQL server has gone away

原因

当MySQL客户端或mysqld服务器收到大于max_allowed_pa​​cket字节的数据包时,它将发出ER_NET_PACKET_TOO_LARGE错误并关闭连接。
对于某些客户端,如果通信数据包太大,在查询错误期间您也可能会丢失与MySQL服务器的连接。

解决方案

修改 packet 值

A Packet in MySQL is:
通信数据包是发送到MySQL服务器的单个SQL语句,发送到客户端的单个行或从主复制服务器发送到从属服务器的二进制日志事件。

mysql> SHOW VARIABLES LIKE 'max_allowed_packet';
mysql> SET GLOBAL max_allowed_packet=1072731894;
mysql> quit

重新连接,再尝试

补充:max_allowed_packet 的 value 单位 Bytes, 1072731894 B = 102410241024 B = 1024 MB = 1 GB

posted @ 2020-12-15 16:22  1766Af  阅读(229)  评论(0编辑  收藏  举报