最近使用mysql8.0.23的时候连接数据库时发现提示报错,出现mysql too many connection 的异常。经过查询发现是mysql的系统自带的连接数太小,连接的线程超过系统配置导致出现错误。
- 首先登录mysql终端,输入**show variables like "max_connections";**,查看最大连接数。
修改最大连接数:**set GLOBAL max_connections=1000;**,配置好之后再次查看最大连接数的量。
- 超过连接数的原因,是mysql的连接数保持时间太长。可以修改一下保活机制show global variables like 'wait_timeout' ,就是最大睡眠时间。
修改一下 set global wait_timeout=300; 自动杀死线程。
- 刚刚的配置是临时修改,重启mysql会失效。可以通过修改mysql的配置/etc/my.cnf。
group_concat_max_len = 10240
# 最大睡眠时间
wait_timeout=300
# 超时时间设置
interactive_timeout = 500
修改完毕后,重启mysql即可。
systemctl restart mysqld.service
版权归原作者 Y·C 所有, 如有侵权,请联系我们删除。