Amazon-Ec2

mySQL:從站無法連接到主站進行複制

  • May 3, 2017

在我的主人身上,我做了:

GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'%' IDENTIFIED BY 'mypassword';

在我的奴隸身上,我看到:

mysql> show slave status \G;
*************************** 1. row ***************************
              Slave_IO_State: Connecting to master
                 Master_Host: 12.34.56.78
                 Master_User: repluser
                 Master_Port: 6666
               Connect_Retry: 60
             Master_Log_File:
         Read_Master_Log_Pos: 4
              Relay_Log_File: mysqld-relay-bin.000002
               Relay_Log_Pos: 4
       Relay_Master_Log_File:
            Slave_IO_Running: Connecting
           Slave_SQL_Running: Yes
             Replicate_Do_DB: mydb
         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: 0
             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: 1045
               Last_IO_Error: error connecting to master 'repluser@12.34.56.78:6666' - retry-time: 60  retries: 86400
              Last_SQL_Errno: 0
              Last_SQL_Error:
 Replicate_Ignore_Server_Ids:
            Master_Server_Id: 0

它只是掛起。但是如果我嘗試通過 連接mysql -u repluser -h 12.23.45.67 -P 6666 p,我可以很好地連接到主伺服器。

我的埠 6666 是開放且允許的。

不知道還能做什麼。

我在http://nerdherd.com/archives/524上找到了答案

Note the error code 1045, which indicates a credentials problem. Double-check the length of your password; MySQL has a MASTER_PASSWORD maximum length limit of 32 characters. Shorten that puppy up and have another try.

我需要在 SERVER 中為我的奴隸命名,所以我將其命名為servidor,就像下一個:

GRANT REPLICATION SLAVE ON *.* TO 'servidor'@'%' IDENTIFIED BY 'servidor';  

伺服器上的下一行是:

MASTER STATUS                                                           

我得到了下一個:

+------------------+----------+--------------+------------------+ 
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000005 |     1232 | pizzeria     |                  |
+------------------+----------+--------------+------------------+     

所以我需要呼叫客戶端作為下一個:

CHANGE MASTER TO MASTER_HOST='172.25.3.44', MASTER_USER='servidor'  
MASTER_PASSWORD='servidor', MASTER_LOG_FILE='mysql-bin.000005', 
MASTER_LOG_POS=1232;

引用自:https://serverfault.com/questions/502883