1. 原生 docker 启动方式
在 docker 启动命令的最后添加变量 --max-connections=1000
docker run -d -p 3306:3306 --name mysql \
-e MYSQL_ROOT_PASSWORD=xxx \
mysql:5.7.38 \
--max-connections=1000
2. Rancher 启动方式
在工作负载配置的【命令(CMD)】中添加 --max-connections=1000
3. 验证
mysql> show variables like '%max_connections';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| max_connections | 1000 |
+-----------------+-------+
1 row in set (0.01 sec)
4. 后记
遇到该问题,首先百度,看似一大堆文章,打开几乎清一色的是进入容器修改配置文件,然后重启容器服务。这…合理吗?容器重启后,没有持久化的目录是会被还原的,修改的配置文件路径在 /etc/mysql/mysql.conf.d
下面,而持久化的目录是 /var/lib/mysql
所以重启后修改的内容根本不存在!
除了可以配置最大连接数外,还有非常多参数可以通过该方式配置,具体可以通过以下命令查看:
docker run -it --rm mysql:5.7.38 --verbose --help