默认docker mysql5.7没有优化这个连接数,拒绝连接后。。连容器本机也不能连接上去了。
root@65cd4ec273a5:/# mysql -uroot -p
Enter password:
ERROR 1040 (HY000): Too many connections
#测试环境,简单粗暴重启容器,然后连接mysql 进行查看最大连接数。
mysql> show variables like "max_connections";
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 151 |
+-----------------+-------+
1 row in set (0.01 sec)
解决办法
新建一个my.cnf文件,注意你容器内的持久化路径是否一致。
# cat my.cnf
[mysqld]
local-infile=0
datadir=/var/lib/mysql
user=mysql
symbolic-links=0
max_connections = 1000
然后挂载上去,再重新up容器
cat docker-compose.yml
version: "3.1"
services:
db:
image: mysql:5.7.34
volumes:
- ./data/db:/var/lib/mysql
- ./data/logs:/var/log/mysql
- ./my.cnf:/etc/mysql/my.cnf
restart: always