Debian mariadb 10.11 XXXX message from server: “Too many connections“

问题表现

报错信息:Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Data source rejected establishment of connection,  message from server: "Too many connections"

处理步骤

1、尝试能不能通过终端登录: mysql -uroot -p 

可以发现已经不能登录了,只能关闭或者重启服务。

systemctl restart mariadb

重启之后查询一下设置的最大连接数 : show variables like '%max_connections%';
 

可以看到 mariadb 10.11的版本与mysql一样都是默认 151的最大连接数。  而 MySQL 还给 root 留了多一个通道,真正的最大连接数为max_connections + 1 。但实际工作中因为各种原因,这个 1 也有可能被占用。这时,我们无法通过登录 MySQL 调整参数的方法来处理这个错误。 这个版本的mariadb也是一样的,我已经无法登录了。 

修改mysql的最大连接数 有两种方式 临时的以及永久的。 在可以连接终端的情况下,可以通过命令: set GLOBAL max_connections = 300;  临时调整,但这种方式服务重启之后就会继续启用原来的最大连接数。 

因此,为了较长时间内,就算服务重启也不影响最大连接数,我们通过修改配置文件的方式进行设置。

对于mariadb 10.11这个版本来说,配置文件已经发生变化,因此修改配置文件: 

跳转到配置文件路径:cd /etc/mysql/mariadb.conf.d/ 

 

根据报错以及配置文件名猜想此时应该需要修改 50-server.cnf文件 :

nano 工具打开: sudo nano 50-server.cnf

找到【mysql】段,寻找属性: max_connections 

将原本注释的内容开启,并设定需要的连接数:如果原本没有就将属性加上:

修改好之后重启服务: systemctl restart mariadb

再登录查询: show variables like '%max_connections%';

这样就好了,根据需要设置属性max_connections 。

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值