Obrigado pela sua ajuda, pessoal, mas acontece que o problema era o SELinux não permitir o MySQL em uma porta não padrão.
Eu tenho a replicação MASTER / SLAVE do MySQL trabalhando em duas caixas de teste (Centos 6.4 / MySQL 5.5.32) pela LAN.
Protegendo a conexão por ssh causa problemas de conexão da máquina SLAVE:
(Exemplo de mostra status do escravo \ G Saída)
Last_IO_Errno: 2003 Last_IO_Error: erro ao conectar ao mestre '[email protected]: 3305' - tempo de repetição: 60
Eu concedi ao usuário de replicação os privilégios relevantes no servidor mestre com o 127.0.0.1 e o IP da rede.
Eu encaminhei a porta do escravo para o mestre por SSH
ssh -f 192.168.0.128 -L 3305: 192.168.0.128: 3306 -N
Eu posso me conectar ao MySQL mestre de slave com
mysql -urep -ppassword -h127.0.0.1 -P3305
A configuração do servidor mestre parece bem, já que funciona sem um túnel, e o túnel parece bem, já que eu posso conectar ao MySQL entre os dois.
Alterar a declaração principal:
MUDAR MASTER PARA MASTER_HOST = '127.0.0.1', MASTER_PORT = 3305, MASTER_USER = 'rep', MASTER_PASSWORD = 'senha';
Observação: sei que há motivos para usar SSL, em vez de SSH, mas tenho motivos pelos quais o SSH é a melhor opção para minha configuração.
Obrigado pela sua ajuda, pessoal, mas acontece que o problema era o SELinux não permitir o MySQL em uma porta não padrão.
Você pode usar semanage para permitir nenhuma porta padrão adicional para o mysqld
sudo /usr/sbin/semanage port -a -t mysqld_port_t -p tcp 3305
então você pode verificar usando
sudo /usr/sbin/semanage port -l | grep mysql
você verá a nova porta exibida junto com a porta padrão 3306
mysqld_port_t tcp 3305, 3306, 63132-63164
Tags ssh mysql mysql-replication