0

我的 MASTER mysql 服务器在本地网络上,我有一个新的远程从属服务器(即在互联网上)。由于 MASTER 没有可访问的 IP,我从文档中收集到我应该建立一个反向隧道。我执行这个:

ssh -f -N -T -R 7777:localhost:3306 user@slave.slave.com

在主上。连接似乎有效 - 我可以毫无问题地转到从站并使用mysql连接到主站。但由于某种原因,复制没有开始。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

谁能建议如何诊断这个问题?

顺便说一句:操作系统是 Linux。

4

1 回答 1

0

抱歉...我没有意识到我必须将 127.0.0.1 的新用户定义为 IP。

因此,“内部网”连接使用

replication_user@machine_name 

作为 id,通过反向隧道的连接使用

replication_user@127.0.0.1 

作为身份证。两者都必须分别向 mysql 声明。原始消息中的其余信息是有效的 - 也许这可以帮助某人......

问候,约翰

PS:忘了提 - 我使用 tcpdump 远程调试了这个(MASTER 和 SLAVE 对我来说都是远程的):

tcpdump -i lo 'tcp port 7777'

在 SLAVE 端,并且

tcpdump -i lo 'tcp port 3306'

在 MASTER 上(当然,当流量很大时,这不会很有用)。

于 2013-08-10T23:00:01.457 回答