我的MASTER mysql服务器位于本地网络上,我有一个新的远程服务器(即在互联网上)。由于MASTER没有可访问的IP,我从文档中收集到我应该建立一个反向隧道。我执行这个:
在MASTER上ssh -f -N -T -R 7777:localhost:3306 user@slave.slave.com
。连接似乎有效 - 我可以去奴隶并连接 使用 mysql 到MASTER没有问题。出于某种原因,复制确实如此 没有开始。 MASTER已经复制到其他两个奴隶而没有问题 - 似乎配置是正确的。
我在奴隶上启动了复制:
CHANGE MASTER TO MASTER_HOST='127.0.0.1',
MASTER_PORT=7777,
MASTER_USER='my_repl',
MASTER_PASSWORD='xxxxx',
MASTER_LOG_FILE='mysql-bin.nnnnn',
MASTER_LOG_POS=mm;
SLAVE STATUS报告mysql尝试连接到远程,但从未成功:
error connecting to master 'my_repl@127.0.0.1:7777' - retry-time: 60 retries: 86400
有人可以建议如何诊断这个问题吗?
BTW:操作系统是Linux。
答案 0 :(得分:0)
我道歉......我没有意识到我必须用127.0.0.1定义一个新用户 IP
所以,'内联网'连接使用
replication_user@machine_name
作为id,通过反向隧道的连接使用
replication_user@127.0.0.1
作为id。两者都必须分别声明为mysql。原始邮件中的其余信息是有效的 - 也许这有助于某人......
问候, 约翰
PS:忘了提 - 我使用tcpdump远程调试了这个(MASTER和SLAVE对我来说都很遥远):
tcpdump -i lo 'tcp port 7777'
在SLAVE方面,
tcpdump -i lo 'tcp port 3306'
在MASTER上的(当然,当流量很大时,它不会非常有用)。