0

既存のデータベースを使用して、MySQL サーバー 5.2 でマスターからマスターへのレプリケーションをセットアップしました。レプリケーションとして名前が付けられたユーザーを使用して、マスター 1 のデータをマスター 2 に正常に複製できます。しかし、マスター 2 に接続しようとすると、マスター 1 からエラーが発生します。これらの詳細情報は次のとおりです。

マスター 1:

mysql> スレーブの状態を表示 \G;

**************************** 1. 行 ******************** ********

           Slave_IO_State: Connecting to master
              Master_Host: 10.34.1.37
              Master_User: replication
              Master_Port: 3306
            Connect_Retry: 10
          Master_Log_File: mysql-bin.000018
      Read_Master_Log_Pos: 107
           Relay_Log_File: XX-XX-01-relay-bin.000002
            Relay_Log_Pos: 4
    Relay_Master_Log_File: mysql-bin.000018
         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 'replication@10.34.1.3
    7:3306' - retry-time: 10  retries: 86400
           Last_SQL_Errno: 0
           Last_SQL_Error:
    Replicate_Ignore_Server_Ids:
         Master_Server_Id: 0
   1 row in set (0.00 sec)

マスター 2 では:

mysql> スレーブの状態を表示 \G;

**************************** 1. 行 ******************** ********

           Slave_IO_State: Waiting for master to send event
              Master_Host: 10.5.224.12
              Master_User: replication
              Master_Port: 3306
            Connect_Retry: 60
          Master_Log_File: mysql-bin.000019
      Read_Master_Log_Pos: 107
           Relay_Log_File: xx-xx-xx-relay-bin.000029
            Relay_Log_Pos: 253
    Relay_Master_Log_File: mysql-bin.000019
         Slave_IO_Running: Yes
        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: 560
          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: 0
    Master_SSL_Verify_Server_Cert: No
            Last_IO_Errno: 0
            Last_IO_Error:
           Last_SQL_Errno: 0
           Last_SQL_Error:
    Replicate_Ignore_Server_Ids:
         Master_Server_Id: 1
   1 row in set (0.00 sec)

   ERROR:
   No query specified

私を助けてください。あなたのソリューションは、タスクを解決するために私を導きます。前もって感謝します。

4

1 に答える 1

2

マスター 1 DB のホストからマスター 2 の MySQL ソケットに接続できることを確認します。シェル コマンドで接続できるかどうかを確認できます。

telnet master-2-ip MYSQLPORT //3306 is the default port for mysql

このコマンドが成功した場合 (つまり、「接続拒否」が表示されないことを意味します)、次のように接続してみてください。

mysql -u user -p'password' -H host -P port

問題が接続の問題でない場合は、mysql ログを /var/log の下に投稿すると、もう少し役立つ場合があります。

于 2012-10-17T13:31:46.387 に答える