用不同的configuration在不同的端口上运行MySQL

我试图在另一个不同的configuration端口上运行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相同的variables,它们在/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实例?

如果你正在运行新的容器: $ 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上。

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