程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> mysql主從常見異常問題解決

mysql主從常見異常問題解決

編輯:關於MYSQL數據庫

       1.問題一:主從復制,中繼日志不斷增長,如何設置中繼日志自動清除

      vi 配置文件my.cnf,在mysqld下增添

      relay_log_purge=1 (自動清除中繼日志打開)

      重啟mysql,這樣SQL Thread每執行完一個events時才會判斷該relay-log是否需要,已經不再需要則自動刪除

      2.問題二:主從同步失敗,如何快速同步?

      跳過錯誤,繼續同步。設置SQL_slave_skip_counter=1;來快速恢復主從架構,但是此時主從架構的數據可能已經不一致了。set global sql_slave_skip_counter=N; 當N等於1時,表示跳過若干個event,直到當前事務結束,而當N大於1時,每跳過一個event,都要N--設置--slave-skip-errors=[ err_code1[,err_code2][,all]] 跳過出現指定錯誤的SQL.如果要斷開主從架構,應先stop slave io_thread;等待執行完relay log裡的內容再stop slave;

      3.問題三: io線程始終保持為connecting狀態

      主從架構中,從庫的io_thread一直保持connecting狀態。先理解Slave_IO_Running 為connecting,的含義。造成的主要有三個:

      1、網絡不通 (是否打開防火牆)

      2、復制用戶的密碼不對 (主從同步指定的用戶密碼主機名限制)

      3、pos不對 (指定的position不正確)

      4.主鍵沖突,報1062錯誤

      主從架構中,從庫復制報1062錯誤,主鍵沖突。如果binlog是基於語句級復制,很容易出現上面的問題。設置innodb_autoincr_lock_mode=0或是1或修改binlog_format=mixed|row

      5.從庫同步慢

      主從架構中,從庫的同步數據非常慢。出現主從同步慢的原因有:

      1.主從同步延遲與系統時間的關系,查看主從兩台機器間系統時間差

      2.主從同步延遲與壓力、網絡、機器性能的關系,查看從庫的io,cpu,mem及網絡壓力

      3.主從同步延遲與lock鎖的關系(myisam表讀時會堵塞寫),盡量避免使用myisam表。一個實例裡面盡量減少數據庫的數量。

      6. change master時報錯ERROR 1201 (HY000)

      表現:在搭建主從時,報1201錯誤 。ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log

      解決方法:出現這個問題的原因是之前曾做過主從復制!需要reset slave後再change

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved