对不起,如果我犯了错误,这是我的第一篇文章。
我的问题
如何配置主/从mysql数据库更改主设备发送数据的端口(我希望端口3307而不是3306)?
我需要这样做才能拥有多个奴隶db。
配置
所以我有schema of my replication environment。
和part of my Docker compose yaml file。
使用Ports:
php_my_admin:
ports:
- '8081:80'
db_caucasus:
ports:
- '3307:3307'
要启动主/从复制,我做了:
stop slave;
CHANGE MASTER TO MASTER_HOST='11.111.111.01', MASTER_USER='db-rep', MASTER_PASSWORD='001', MASTER_LOG_FILE='mysql-bin.000111', MASTER_LOG_POS= 111, MASTER_PORT=3306;
start slave;
之后:
主数据库上的server-id正确777
SHOW SLAVE STATUS
是正常的(Slave_IO_Running:OK,Slave_SQL_Running:OK,同样的Master_Log_File和相同的Read_Master_Log_Pos)
当我在master db上修改数据时,我可以看到复制数据被发送到端口3306 (例如,使用下面的命令)
tcpdump -A port 3306 and host 11.111.111.01
tcpdump -A port 3307 and host 11.111.111.01
提前感谢您的回答!
答案 0 :(得分:0)
你必须在docker-compose中链接mysql master和slave。如果主设备和从设备都已正确配置,则应该没有问题进行通信。
mysql_slave:
ports:
- "3307:3307"
mysql_master:
ports:
- "3306:3306"
links:
- mysql_slave