1. Slave_IO_Running: No
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State:
Master_Host: 192.16.10.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: NULL
Master_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不1樣便可;
(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'@'192.16.10.21'
identified by 'root';
> grant replication slave on *.* to 'root'@'192.16.10.23'
identified by 'root';
2. Slave_IO_State:
Waiting to reconnect after a failed master event read
mysql> show slave statusG
*************************** 1. row ***************************
Slave_IO_State: Waiting to reconnect after a failed master event read
Master_Host: 192.16.10.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: NULL
Master_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'@'192.16.10.228'
identified by 'root';
> grant replication slave on *.* to 'root'@'192.16.10.231'
identified by 'root';
> flush privileges;
3.Another MySQL daemon already running with the same unix socket.
緣由多個Mysql進程使用了同1個socket。 兩個方法解決:
第1個是立即關機 使用命令 shutdown -h now 關機,關機后在啟動,進程就停止了。
第2個直接把mysql.sock文件改名便可。也能夠刪除,推薦改名。
然后就能夠啟動mysql了。
下面是國外原文
To prevent the problem from occurring, you must perform a graceful
shutdown of the server from the command line rather than powering off
the server.
# shutdown -h now
This will stop the running services before powering down the machine.
Based on Centos, an additional method for getting it back up again when you run into this problem is to move mysql.sock:
# mv /var/lib/mysql/mysql.sock /var/lib/mysql/mysql.sock.bak
# service mysqld start
Restarting the service creates a new entry called mqsql.sock