今天用Navicat进行数据备份的时候,发现由于数据库连接数目过多导致连接锁定,这种情况在多人协同开发的场景中很常见。当然我这里也因为多个应用使用了数据库连接,所以出现了Too Many Connections。
可能是超过最大连接数了。
1、进入Navicat的命令行界面
2、查看当前最大连接数(通常默认最大连接数是100,我之前是设置为150)
show variables like '%max_connections%';
3. 修改最大连接数,太大实际上也不好,要根据自己硬件与环境情况确定
set global max_connections = 200
4、看连接情况
show processlist;
5、很多都是sleep了,
show global variables like '%wait_timeout';
命令查看sleep连接的最大存活时间
6、可以根据自己需要进行修改,当然太小也不好,如:
set global wait_timeout=600s;
命令将最大存活时间设置为600s
7、当然要永久修改,要在 [mysqld] 段下添加或修改 max_connections 参数,例如:max_connections = 200。4、保存文件并退出编辑器。
8、重启 MySQL 服务,使配置生效。可以通过命令 systemctl restart mysql 或者 service mysql restart 重启 MySQL 服务,具体命令根据系统不同而有所变化。