日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql 主从 cap_Mysql 主从同步 slave_sql_running 为no

發布時間:2024/9/19 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql 主从 cap_Mysql 主从同步 slave_sql_running 为no 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景

之前搭建了主從,但沒有設置讀寫分離,從庫也能寫數據。于是想測試下在從庫寫數據會導致同步怎么樣。 結果發現,slave_sql_running為no,slava_IO_running仍然為yes.

原因

由于從庫寫數據,導致主從數據不一致,如果在主庫寫入和從庫同樣的數據,會導致sql線程終止,查看mysql錯誤日志如下:

2020-08-01T10:58:19.623077Z 135 [ERROR] Slave SQL for channel '': Could not execute Write_rows event on table shy_dep.zp_test; , Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event's master log mysql-bin.000001, end_log_pos 882496, Error_code: 10622020-08-01T10:58:19.623101Z 135 [Warning] Slave: Error_code: 10622020-08-01T10:58:19.623110Z 135 [ERROR] Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with "SLAVE START". We stopped at log 'mysql-bin.000001' position 882218

解決方法一

在從庫停掉slave同步,執行 stop slave;

主庫執行 SHOW MASTER STATUS,記錄下File和Position的值

從庫根據主庫的position位置重新連接進行同步

CHANGE MASTER TO master_host = '192.168.164.84',MASTER_PORT = 3306,master_user = 'root',master_password = 'root',master_log_file = 'mysql-bin.000001',master_log_pos = 902262;#這里記錄master最新的position

從庫啟動同步, start slave;

通過以上步驟,可以實現主從重新開始同步。

PS: 這里在重新啟動從庫同步時,假設主庫沒有進行寫操作。因為如果進行了寫操作,則剛才記錄的主庫position位置可能會變。

所以一般需要把主庫臨時加鎖不讓寫。

解決方法二

在從庫執行以下命令:

stop slave;set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;start slave;SHOW SLAVE STATUS.........

總結

以上是生活随笔為你收集整理的mysql 主从 cap_Mysql 主从同步 slave_sql_running 为no的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。