[ERR] 2006 – MySQL server has gone away

Debug5年前 (2019)更新 bruce
134 0
内容纲要

报错信息

导入Sql文件到自己的开发环境,报错

[ERR] 2006 - MySQL server has gone away 
[ERR] SET FOREIGN_KEY_CHECKS = 0;

解决思路

查看环境服务

brew services list
Name      Status  User     Plist
mysql@5.7 started brucebnu /Users/brucebnu/Library/LaunchAgents/homebrew.mxcl.mysql@5.7.plist
nginx     started brucebnu /Users/brucebnu/Library/LaunchAgents/homebrew.mxcl.nginx.plist
php       started brucebnu /Users/brucebnu/Library/LaunchAgents/homebrew.mxcl.php.plist

brew services stop mysql@5.7
brew services start mysql@5.7
brew services restart mysql@5.7

mysql查看my.cnf位置,或者系统内有多个my.cnf,想知道哪个my.cnf 在使用

mysql -V # 查看mysql版本
ps aux | grep 'mysql' # 查看进程中运行的mysql信息

whereis mysql  # whereis -- locate programs

mysql --help | grep my.cnf  # 类unix系统

sudo find / -name my.cnf # 找到全部

参考配置

Mysql 配置中文笔记参考
MySQL 5.7 Reference Manual

[mysqld]

sql_mode=

# 服务器在关闭交互式连接之前等待活动的秒数。交互式客户端定义为使用mysql_real_connect()的CLIENT_INTERACTIVE选项的客户端。另请参见wait_timeout。
interactive_timeout = 2880000

# 服务器在关闭非交互式连接之前等待活动的秒数。 在线程启动时,根据客户端的类型(由mysql_real_connect()的CLIENT_INTERACTIVE connect选项定义),从全局wait_timeout值或全局global_timeout值初始化会话wait_timeout值。另请参见Interactive_timeout。
wait_timeout=2880000

# 如果使用大的BLOB列或长字符串,则必须增加此值。它应该与要使用的最大BLOB一样大。 max_allowed_pa​​cket的协议限制为1GB。该值应为1024的倍数;非整数将四舍五入到最接近的倍数。 通过更改max_allowed_pa​​cket变量的值来更改消息缓冲区大小时,如果客户端程序允许,还应该在客户端上更改缓冲区大小。内置于客户端库中的默认max_allowed_pa​​cket值为1GB,但单个客户端程序可能会覆盖此值。例如,mysql和mysqldump的默认值分别为16MB和24MB。它们还使您能够通过在命令行或选项文件中设置max_allowed_pa​​cket来更改客户端值。 该变量的会话值是只读的。客户端最多可以接收与会话值一样多的字节。但是,服务器不会向客户端发送比当前全局max_allowed_pa​​cket值更多的字节。 (如果在客户端连接后更改了全局值,则全局值可能小于会话值。)
max_allowed_packet = 2048M

开发环境,调大了限制,先开发再优化。

© 版权声明

相关文章

暂无评论

暂无评论...