查看從庫的狀態:
mysql>show slave statusG;
其中Slave_IO_Running:Yes 表明同步IO是否在運行;Slave_SQL_Running:Yes 表明同步SQL是否在運行;Last_Error表明上次出錯的內容。
今天碰到一條出錯的SQL,內容如下:
Last_Error: Error ‘Duplicate entry ’14772680-15′ for key ‘PRIMARY” on query. Default database: ‘xxxxxxxx’. Query: ‘UPDATE pre_forum_post SET position=position+’14′ WHERE `tid` IN(’14772680′,’14773058′)’
這條語句導致了從庫出錯,slave的SQL停止。
執行mysql>SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2; 跳過沖突的記錄。
然後再重啟slave
mysql>stop slave
mysql>start slave
如果碰到Slave_IO_Running:No的話,說明是主從的IO沒有運行起來。今天發現另外一台很久沒使用的DB也是這個情況,就把他重啟了。 www,111cn.net
錯誤提示為:
[ERROR] Got fatal error 1236: ‘Could not find first log file name in binary log index file’
from master when reading data from binary log
在主庫上查看主庫的狀態
mysql>show master status;
列出一條記錄,很簡單的信息
+——————+———–+————–+——————+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+——————+———–+————–+——————+
| mysql-bin.002323 | 121077462 | | |
+——————+———–+————–+——————+
然後在從庫上執行:
mysql>stop slave;
mysql>change master to master_log_file=’mysql-bin.002323′,master_log_pos=121077462;
mysql>start slave;
再次查看從庫的狀態
mysql>show slave statusG;
發現正常。
另外今天碰到了一個詭異的現象,就是mysql停掉後啟動不起來了。報錯
Starting MySQL. ERROR! Manager of pid-file quit without updating file.
#/usr/bin/mysql_safe
之後就正常了,停掉safe模式再啟動即可
#service mysql start