报错代码:
java.sql.SQLNonTransientConnectionException: Data source rejected establishment of connection, message from server: “Too many connections”
解决方案 :
在my.cnf中修改配置
#设置MySQL数据库的最大连接数量。如果服务器的并发连接请求量比较大,建议调高此值,以增加并行连接数量。可以过'%connect%'通配符查看当前状态的连接数量,以定夺该值的大小。
max_connections = 1000
#设置MySQL数据库的连接超时时间。默认设置是一个数据库连接超过8小时没有使用,达到了server端的timeout,服务器将断开这条连接,此后再通过这个connection发起查询操作都将失败。超时等待时间,单位秒,即一个connection在若干秒内无响应,则服务器切断与这个客户端的连接。
wait_timeout = 28800
#当没有数据库请求时,28800秒(即8小时)将自动断开连接。要同时设置interactive_timeout和wait_timeout才会生效。
interactive_timeout = 28800
ps:如果myql是docker安装
先进去容器,安装vi
apt-get update
apt-get install vim
执行命令
mysql --help | grep my.cnf
进入要修改的文件目录
cd /etc/mysql
保存后重启容器即可。
也可以写在目录/etc/mysql/mysql.conf.d
进入mysql查看配置是否生效
show VARIABLES like 'max_conn%';