gpt4 book ai didi

通过 SSH 隧道进行 MySQL 复制

转载 作者:行者123 更新时间:2023-11-29 03:22:57 25 4
gpt4 key购买 nike

我在通过 SSH 隧道设置复制时遇到了问题,尽管我花了很多时间阅读官方文档、文章和 SO 问题。

我的主人是192.168.0.105,奴隶是192.168.0.104。我已经通过以下方式设置了 SSH 隧道:

ssh -L 3305:127.0.0.1:3306 tunneluser@192.168.0.105 -f -N

tunneluser 是我的 ma​​ster 上的本地用户。

我在从机上得到以下输出(省略了不相关的行):

mysql> SHOW SLAVE STATUS \G
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: 127.0.0.1
Master_User: slave_user
Master_Port: 3305
...
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
...
Last_IO_Errno: 2003
Last_IO_Error: error connecting to master 'slave_user@127.0.0.1:3305' - retry-time: 10 retries: 1
...
1 row in set (0.00 sec)

让我困惑的是,如果我尝试:

mysql -h 127.0.0.1 -P 3305 -u slave_user -p

它登录没有任何问题。我开始认为这与权限有关,但我找不到任何提示来证实我的理论。

我尝试将隧道设置为 mysql 用户,但效果不佳。没想到,但我不得不试一试。

有没有人对如何调试有任何建议?

如果我直接通过端口 3306,它可以正常工作。

最佳答案

好几天后,我在ServerFault上发现了一个类似的问题:

MySQL Replication Over SSH - Last_IO_Errno: 2003 - error connecting to master

事实证明 SELinux 必须用它做所有事情!正如 @Tek Jau 所解释的,您可以通过 semanage 添加此自定义端口来解决此问题:

sudo /usr/sbin/semanage port -a -t mysqld_port_t -p tcp 3305

希望这对遇到类似问题的任何人有所帮助。

关于通过 SSH 隧道进行 MySQL 复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40923220/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com