通过SSH进行MySQL复制 – Last_IO_Errno:2003 – 连接到master的错误

我有MySQL MASTER / SLAVE复制工作在两个testing盒(CentOS 6.4 / MySQL 5.5.32)通过局域网。

通过ssh保护连接导致SLAVE机器的连接问题:

显示从站状态的示例\ G输出)

Last_IO_Errno:2003 Last_IO_Error:错误连接到主'[email protected]:3305' – 重试时间:60

我已经为复制用户授予了127.0.0.1和networkingIP在主服务器上的相关权限。

我通过SSH将端口从从端口转发给主端口

ssh -f 192.168.0.128 -L 3305:192.168.0.128:3306-N

我可以连接到从主从MySQL与

mysql -urep -ppassword -h127.0.0.1 -P3305

主服务器设置看起来很好,因为它没有隧道工作,隧道似乎很好,因为我可以连接到两者之间的MySQL。

更改主语句:

更改MASTER_HOST ='127.0.0.1',MASTER_PORT = 3305,MASTER_USER ='rep',MASTER_PASSWORD ='密码';

注意:我知道有理由使用SSL,而不是SSH,但我有理由说SSH是我的设置更好的select。

感谢您的帮助,大家,但事实certificate,这个问题是SELinux不允许在一个非标准的端口的MySQL。

您可以使用semanage来为mysqld允许额外的无标准端口

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

那么你可以validation使用

 sudo /usr/sbin/semanage port -l | grep mysql 

您将看到新的端口与标准端口3306一起显示

mysqld_port_t tcp 3305,3306,63132-63164