1发现问题

最近使用mysql5.7的时候连接公司系统数据库时发现提示报错,出现mysql too many connection 的异常。经过查询发现是mysql的系统自带的连接数太小,连接的线程超过系统配置导致出现错误。

MySQL连接时报1040 Too many connections_最大连接数


2解决过程

2.1 首先登录mysql终端,输入show variables like max_connections,查看最大连接数。

修改最大连接数:set GLOBAL max_cnotallow=1000,配置好之后再次查看最大连接数的量。

MySQL连接时报1040 Too many connections_最大连接数_02

MySQL连接时报1040 Too many connections_最大连接数_03

2.2. 超过连接数的原因,是mysql的连接数保持时间太长。可以修改一下保活机制show global variables like 'wait_timeout' ,就是最大睡眠时间。

修改一下 set global wait_timeout=300; 自动杀死线程。

MySQL连接时报1040 Too many connections_mysql_04

MySQL连接时报1040 Too many connections_mysql_05

2.3.  刚刚的配置是临时修改,重启mysql会失效。可以通过修改mysql的配置/etc/my.cnf。

[root@hadoop1 bin]# vim /etc/my.cnf

group_concat_max_len = 10240

# 最大睡眠时间

wait_timeout=300

# 超时时间设置

interactive_timeout = 500

MySQL连接时报1040 Too many connections_连接数_06

MySQL连接时报1040 Too many connections_连接数_07