时间:2021-07-01 10:21:17 帮助过:4人阅读
执行后重启mysql。
等待时间调小 上面说到,mysql会等待一段时间,才释放已经无用的connection的。我们可以调小这值。 先执行命令, 查看一下等待时间:show variables like "%timeout%"
下图所示:
默认是28800秒,8小时。。。我们把这2个值调小即可。在mysql命令行中输入(或者navicate等工具都可以):
set global wait_timeout=60; set global interactive_timeout=60;
如果在navicate中执行上述命令, 需要关闭当前数据库连接,才看到生效的。
生产环境完善监控 为了避免线上出现这种问题, 对mysql监控要加上当前连接数这个项,超过一定阀值就要告警。 参考: http://stackoverflow.com/questions/4284194/terminating-idle-mysql-connections http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_wait_timeout http://dev.mysql.com/doc/refman/5.0/en/server-system-variables.html#sysvar_interactive_timeout解决mysql获取不到连接的问题
标签: