当前位置: 代码迷 >> MySQL >> MySQL双主热备有关问题处理
  详细解决方案

MySQL双主热备有关问题处理

热度:220   发布时间:2016-05-05 17:12:03.0
MySQL双主热备问题处理

1. Slave_IO_Running: No

mysql> show slave status\G*************************** 1. row ***************************               Slave_IO_State:                  Master_Host: 172.16.1.21                  Master_User: cahms                  Master_Port: 3306                Connect_Retry: 60              Master_Log_File: mysql-bin.000003          Read_Master_Log_Pos: 20398               Relay_Log_File: mysqld-relay-bin.000001                Relay_Log_Pos: 4        Relay_Master_Log_File: mysql-bin.000003             Slave_IO_Running: No            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: 20398              Relay_Log_Space: 106              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: NULLMaster_SSL_Verify_Server_Cert: No                Last_IO_Errno: 1593                Last_IO_Error: Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on slave but this does not always make sense; please check the manual before using it).               Last_SQL_Errno: 0               Last_SQL_Error:1 row in set (0.00 sec)

(1) master and slave have equal MySQL server ids
【解决办法】
修改/etc/my.cnf 下的server-id的值,确保master和slave的server-id不一样即可;

(2) Error reading packet from server:

Access denied; you need the REPLICATION SLAVE privilege for this operation ( server_errno=1227)

【解决办法】主服务器给的复制权限不够,重新赋予权限。

```> grant replication slave on *.* to 'uname'@'对端ip' identified by 'password';> flush privileges;
== e.g ==
> grant replication slave on *.* to 'root'@'172.16.1.21' identified by 'amtium';

grant replication slave on . to [email protected] identified by ‘amtium’;

**2. Slave_IO_State:** 
Waiting to reconnect after a failed master event readmysql> show slave status\G*************************** 1. row ***************************               Slave_IO_State: Waiting to reconnect after a failed master event read                  Master_Host: 172.16.1.231                  Master_User: cahms                  Master_Port: 3306                Connect_Retry: 60              Master_Log_File: mysql-bin.000003          Read_Master_Log_Pos: 106               Relay_Log_File: mysqld-relay-bin.000001                Relay_Log_Pos: 4        Relay_Master_Log_File: mysql-bin.000003             Slave_IO_Running: No            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: 106              Relay_Log_Space: 106              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: NULLMaster_SSL_Verify_Server_Cert: No                Last_IO_Errno: 0                Last_IO_Error:               Last_SQL_Errno: 0               Last_SQL_Error:1 row in set (0.00 sec)

【解决办法】

> grant replication slave on *.* to   'root'@'172.16.1.228' identified by 'amtium';> grant replication slave on *.* to  'root'@'172.16.1.231' identified by 'amtium';> flush privileges;
  相关解决方案