MYSQL 主從庫同步 異常處理彙總

markzy5201190發表於2012-06-03
主從庫同步失效的原因各種各樣,一般都是在從庫上不小心執行了寫操作,也有可能從庫伺服器意外重啟等等。

進入從庫執行show slave status\G看到下面兩行:

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

任意一個不為yes就說明同步出了問題。

基本上解決的辦法無外乎這麼幾種:
1. 如果是事務回滾造成的那麼可以嘗試:

mysql > slave stop;
mysql > set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql > slave start;

2. 如果上面的方法沒有作用,那麼基本上下面的方法一定奏效:
①主庫操作:

flush tables with read lock;    //主庫上鎖表
show master status;   //記錄 master log file及file position

比如:

+--------------------------+----------------+-------------------+------------------------+
| File                          | Position       | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------------+----------------+--------------------+-----------------------+
| xxxx-log.000001     | 156                | xxxx                   |                              |
+--------------------------+----------------+--------------------+-----------------------+
tar -cvf database.tar ./data   //備份資料檔案
unlock tables;   //解鎖主庫表

②從庫操作

將主庫資料庫檔案copy到從庫中
啟動從庫
stop slave;
reset slave;
change master to master_host='主庫IP',master_user='使用者名稱',master_password='密碼',master_port=,master_log_file='xxxx-log.000001',master_log_pos=156;
start slave;

然後登陸從庫

show slave status\G;
 
Slave_IO_Running: Yes
Slave_SQL_Running: Yes

上面2項都為’Yes’,表示slave正常


文章來源:

之乎者也2011 http://www.cnblogs.com/wrmfw/archive/2011/09/05/2166935.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26855487/viewspace-731796/,如需轉載,請註明出處,否則將追究法律責任。

相關文章