方法一:修改mysql,配置文件修改连接数
1:使用
show variables like '%nax_connections%'
查看当前连接数
2.修改 /etc/my.cnf 文件添加连接数参数
max_connections=300
方法二:查看是什么原因引起的连接数过多
1:我这边的数据库只有一台引用和一个kettle连接。现在初步分析是kettle导致连接数达到峰值,查看kettle进程,发现好多个进程都是前天启动的,一般来说一个kettle任务几分钟就执行完了。
2:查看mysql日志 /var/log/mysqld.log
看了一下mysql日志一直会报上面那个update语句被锁住,应该是where后面的条件dept_id没有添加索引起sql执行过慢,因为这个update语句是在kettle任务里的,所以因为update过慢会导致新任务会堆积,将表锁死,后续的kettle任务堆积到msqyl连接数设置的峰值。从而导致报错Too many connections,需要将dept_id加上索引解决问题。