公司裡有兩個mysql服務器做主從同步
問題又出現了
show slave status \G; 果然
Slave_IO_Running: Yes
Slave_SQL_Running: No
而且出現了
Last_SQL_Error: Error
很顯然
tail
發現這條信息
[ERROR] Slave SQL: Error
te
報錯和上面的意思差不多
最先想到的就是首先手動同步一下
進入主庫鎖表
FLUSH TABLES WITH READ LOCK
mysql> show master status;
+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+
| ufo
+
進入從庫
mysql>change master to master_host=
master_password=
master_port=
master_log_file=
master_log_pos=
完成上面這些後
start slave;
回到主庫
unlock tables; 解鎖
回到從庫 查看
show slave status \G;
發現正常了
於是又想到了跳過錯誤的辦法
stop slave;
set global sql_slave_skip_counter=
slave start;
再show slave status \G;查看
還是報錯 只不過 原來的
除了上面的數值 在變
郁悶了
在裡面的[mysqld]下面加入了一行
slave
重啟下從庫的mysql /etc/init
再 show slave status \G;一下發現正常了
再次查看一下日志
日志裡面有大量的這種警告
statement format 應該是 binlog的一種格式
show global variables like
果然當前的格式為statement
我需要把格式改為 mixed格式
修改從庫的 my
在[mysqld]下面加入下面這行
binlog_format=mixed
然後重啟mysql服務
我突然想起一件事
於是就進入到f 裡在注釋掉了 slave
再次重新啟動 mysql服務
進入從庫
show slave status \G;
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
恢復了!!!有觀察了一段時間沒有出現問題這才放心
看來導致 mysql 主從復制出錯的原因還真不少修復的辦法也不止一個
希望遇到和這次一樣問題的朋友看到這篇文章後會得到 一些啟發和解決問題的方法~~
From:http://tw.wingwit.com/Article/program/MySQL/201311/29391.html