MySQL提示“too many connections“

302 阅读1分钟

1、重启Docker

# 如果在mysql在Docker中
sudo systemctl restart docker
or
docker restart ID
# 在虚拟机的mysql
service mysql restart

image.png 2、进入mysql容器并登录

# 更改ID为容器ID
docker exec -it ID /bin/bash
# 登录mysql
mysql -uroot -p

查看最大连接数

show variables like 'max_connections';

image.png

3、临时修改,重启失效

  • 对于已经打开的连接,是不会被关闭的。只有新建立的连接才会在 60 秒后关闭。
SET GLOBAL interactive_timeout = 60;
SET GLOBAL wait_timeout = 60;
set GLOBAL max_connections = 300;

4、修改配置文件,一劳永逸,需重启,退出mysql,docker中退出两次才到最外面的虚拟机

exit

我的配置文件挂载到最外面的虚拟机了 image.png 无论如何,找到你的mysql配置文件/etc/my.cnf,添加以下参数

[mysqld]
# 最大连接数
max_connections = 300
# 修改超时时间
interactive_timeout=500
wait_timeout=300
group_concat_max_len = 102400

image.png

5、重启mysql

docker restart ID
or
sudo systemctl restart docker
or
sudo systemctl restart mysql

6、再次进入mysql查看是否修改成功

image.png