Erro do MySQL 2003 sobre o túnel ssh ao replicar, não ao usar o cliente

1

Eu estou tentando configurar a replicação em um servidor MySQL através de um túnel SSH. Eu configurei uma porta para a frente no escravo da porta 7777 no localhost para a porta 3306 no mestre, e posso conectar-me à minha conta de replicação usando

mysql -h 127.0.0.1 -P 7777 -u replicate -p 

No entanto, quando defino a configuração principal no escravo (usando o host 127.0.0.1, a réplica do usuário, a senha correta [marcada novamente] e a porta 7777), há um erro ao conectar ao mestre com o código 2003 , o que parece estar associado a problemas de login. Eu verifiquei as permissões e 'replicate'@'127.0.0.1' tem escravo de replicação em *. *. Por que posso me conectar com um cliente, mas a replicação está falhando.

EDITAR:

O servidor principal executa o MySQL 5.1.66 no Ubuntu 10.04; o escravo executa o MySQL 5.5.28 no Fedora 16.

mysql --ssl --help

resulta em:

Variables (--variable-name=value)
and boolean options {FALSE|TRUE}  Value (after reading options)
--------------------------------- -----------------------------
auto-rehash                       TRUE
character-sets-dir                (No default value)
column-type-info                  FALSE
comments                          FALSE
compress                          FALSE
debug-check                       FALSE
debug-info                        FALSE
database                          (No default value)
default-character-set             latin1
delimiter                         ;
vertical                          FALSE
force                             FALSE
named-commands                    FALSE
ignore-spaces                     FALSE
local-infile                      FALSE
no-beep                           FALSE
host                              (No default value)
html                              FALSE
xml                               FALSE
line-numbers                      TRUE
unbuffered                        FALSE
column-names                      TRUE
sigint-ignore                     FALSE
port                              3306
prompt                            mysql>
quick                             FALSE
raw                               FALSE
reconnect                         TRUE
socket                            /var/run/mysqld/mysqld.sock
ssl                               TRUE
ssl-ca                            (No default value)
ssl-capath                        (No default value)
ssl-cert                          (No default value)
ssl-cipher                        (No default value)
ssl-key                           (No default value)
ssl-verify-server-cert            FALSE
table                             FALSE
user                              (No default value)
safe-updates                      FALSE
i-am-a-dummy                      FALSE
connect_timeout                   0
max_allowed_packet                16777216
net_buffer_length                 16384
select_limit                      1000
max_join_size                     1000000
secure-auth                       FALSE
show-warnings                     FALSE

status do escravo:

mysql> show slave status\G
--------------
show slave status
--------------

*************************** 1. row ***************************
               Slave_IO_State: Connecting to master
                  Master_Host: 127.0.0.1
                  Master_User: replicate
                  Master_Port: 7777
                Connect_Retry: 60
              Master_Log_File: mysql-bin.000002
          Read_Master_Log_Pos: 397
               Relay_Log_File: slave-relay-bin.000004
                Relay_Log_Pos: 107
        Relay_Master_Log_File: mysql-bin.000002
             Slave_IO_Running: Connecting
            Slave_SQL_Running: Yes
              Replicate_Do_DB:
          Replicate_Ignore_DB:
           Replicate_Do_Table:
       Replicate_Ignore_Table:
      Replicate_Wild_Do_Table:
  Replicate_Wild_Ignore_Table:
                   Last_Errno: 0
                   Last_Error:
                 Skip_Counter: 0
          Exec_Master_Log_Pos: 107
              Relay_Log_Space: 107
              Until_Condition: None
               Until_Log_File:
                Until_Log_Pos: 0
           Master_SSL_Allowed: No
           Master_SSL_CA_File:
           Master_SSL_CA_Path:
              Master_SSL_Cert:
            Master_SSL_Cipher:
               Master_SSL_Key:
        Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
                Last_IO_Errno: 2003
                Last_IO_Error: error connecting to master '[email protected]:7777' - retry-time: 60  retries: 86400
               Last_SQL_Errno: 0
               Last_SQL_Error:
  Replicate_Ignore_Server_Ids:
             Master_Server_Id: 0
1 row in set (0.00 sec)

EDITAR:

O SELinux está habilitado no servidor e está em modo de imposição.

    
por cpast 29.12.2012 / 22:32

1 resposta

1

É muito provável que sua conexão do mysqld com uma porta 7777 seja bloqueada pelo selinux. Para permitir isso, siga

semanage port -a -t mysqld_port_t -p tcp 7777

Para verificar se é adicionado ao mysqld port permitido

semanage port -l | grep mysqld_port_t
    
por 30.12.2012 / 04:45