數據庫主從異常問題不一樣步問題

數據庫主從異常問題mysql

場景描述:在使用web功能時發現剛添加的數據在列表中沒有展現,或者有時候展現有時候不展現(多個從庫時出現)web

如何查找問題:sql

這時咱們已經懷疑可能從庫延遲了,咱們須要確認下是延遲問題仍是同步中斷數據庫

咱們須要連接到從庫執行命令:show slave status\G 來查看從庫同步狀況服務器

同步中斷問題優化

若是Slave_IO_Running (負責與主機的io通訊),Slave_SQL_Running (負責本身的slave mysql進程),這兩個參數若是有一個是no的,說明同步已經中斷了spa

這時咱們須要去看Last_Errno(錯誤碼) Last_Error(錯誤信息),來肯定什麼緣由致使的錯誤日誌

接下來咱們能夠經過如下命令跳過錯誤,讓同步正常執行進程

mysql>stop slave 中止同步ip

mysql>set global sql_slave_skip_counter=1; 設置跳過錯誤

mysql>start slave 開始同步

同步延遲問題

當咱們發現Master_Log_File參數和Relay_Master_Log_File參數不一致或者Read_Master_Log_Pos和Relay_Log_Pos參數相差很大時,這代表從庫延遲了

1.這時咱們先確認是主庫致使的仍是從庫自身致使的,咱們能夠經過查看服務器負載來定位問題,使用命令top和iotop來分別查看cpu和io的使用狀況

2.定位到具體服務器後,在數據庫中執行show full processlist來查看當前查詢語句中執行時間較長的語句,定位後再作優化就能夠了,有時可能慢sql已經執行完了,

咱們使用命令看不到慢sql,那咱們就須要到mysql慢日誌中去查看最近產生的慢日誌,對慢sql進行優化

相關文章
相關標籤/搜索