使用不同的配置

时间:2017-04-12 09:09:42

标签: mysql database docker config

我试图在具有不同配置的单独端口上运行另一个MySQL实例。

尝试1

docker run --name dbname -v /home/custom-mysql-configs/dbname-config-folder:/etc/mysql -p 0.0.0.0:3312:3306 -e MYSQL_ROOT_PASSWORD=mysupersecretpassword -d mysql:5.5

当我在SHOW VARIABLES;中运行mysql -u root -p --host=127.0.0.1 --port=3312时,我获得与mysql -u root -p --host=127.0.0.1 --port=3306中设置的/etc/mysql/my.cnf相同的变量

尝试2

docker run --name dbname -v /home/custom-mysql-configs/dbname-config-folder:/etc/mysql/conf.d -p 0.0.0.0:3312:3306 -e MYSQL_ROOT_PASSWORD=mysupersecretpassword -d mysql:5.5

然后我跑了

mysql -u root -p --host=127.0.0.1 --port=3306

我收到以下错误:

  

错误2013(HY000):在阅读时失去与MySQL服务器的连接   初始通信包',系统错误:0

我做错了什么以及如何运行新的MySQL实例?

1 个答案:

答案 0 :(得分:0)

如果您正在运行新容器,请执行以下操作: $ docker run --name dbname -v /home/custom-mysql-configs/dbname-config-folder:/etc/mysql/conf.d -p 0.0.0.0:3312:3306 -e MYSQL_ROOT_PASSWORD=mysupersecretpassword -d mysql:5.5

你应该通过以下方式连接到它: $ mysql -u root -p --host=127.0.0.1 --port=3312

您的命令已连接到原始容器,位于端口3306上。

我还建议您展示一些MySQL conf.d文件,因为它可能会有所帮助。