最近使用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
来源地址:https://blog.csdn.net/m0_54853465/article/details/129370000