今天同事说MySQL连接报错1040错误Too many connections
怀疑最大连接数不足导致的问题。
用下面两种方式可以查询:
-- 查看最大连接数
SELECT VARIABLE_VALUE FROM information_schema.GLOBAL_VARIABLES WHERE VARIABLE_NAME='MAX_CONNECTIONS';
SHOW VARIABLES LIKE 'MAX_CONNECTIONS';
-- 查看已使用的连接数
SHOW GLOBAL STATUS LIKE 'Max_used_connections';
查询结果:最大连接数 151 当前已使用连接数 150
-- 查看连接线程数
SHOW STATUS LIKE 'Threads%';
解决方式:
1、直接在当前界面修改(临时修改,重启失效)
SET GLOBAL max_connections=512;
2、修改配置文件 一般
在/etc/my.cnf里面(重启后永久生效)
设置数据库的最大连接数
使用非root用户显示无权限
使用 sudo systemctl status mariadb.service 查询当前状态及报错问题
貌似是MAX_CONNECTIONS的问题,修改为max_connections=1000,再重启成功!
-- 重启及检查命令
sudo systemctl stop mysql.service
sudo systemctl status mysql.service
sudo systemctl start mysql.service
注意事项:MySQL的配置文件用小写。