问题:
Docker搭建的MySQL容器出现 “Too many connections 1040” 最大连接数修改
分析:
在联调测试线上环境的过程中,由于打算快速搭建,采用的MySQL是用Docker-compose搭建的,在本地连接时经常出现 “Too many connections” ,找到关于Docker环境下MySQL的设置问题。
解决:
- 第一种:
在Docker启动容器时该参数:
(适用于未使用DockerFile镜像构建文件和docker-compose文件构建的环境)
--ulimit nofile=65536:65536
- 第二种:
修改Docker启动脚本实现:
(适用于使用DockerFile镜像构建文件和docker-compose文件构建的环境)
(1)宿主机:vim /etc/init.d/docker
(2)在文件开始部分加入以下代码:
ulimit -u 65536 -HSn 65536
(3)保存并退出vim
Docker限制解除完后,我们再次修改最大连接数试一下!
1、进入MySQL容器
docker exec -it [container_id] /bin/bash
2、登录MySQL
mysql -u root -p[password]
3、查看最大连接数(默认为100)
SHOW VARIABLES LIKE '%max_con%';
4、设置最大连接数
SET GLOBAL max_connections = 1000;
5、退出MySQL容器,并重启容器,解除连接数限制成功!
参考stackoverflow: