我试图在具有不同配置的单独端口上运行另一个MySQL实例。
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
相同的变量
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实例?
答案 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文件,因为它可能会有所帮助。