60.mysql主從的相關知識

  1. MYSQL主從做用大體分爲數據備份和負載均衡兩類
    Master 節點,負責全部的「寫請求」
    Slave 節點,負責大部分的「讀請求」;
    MySQL 的主從複製:異步單線程。
    實現的具體邏輯方法:
    Master上 1 個IO線程,負責向Slave傳輸 binary log(binlog)
    Slave上 2 個線程:IO 線程和執行SQL的線程,其中:
    IO線程:將獲取的日誌信息,追加到relay log上;
    執行SQL的線程:檢測到relay log中內容有更新,則在Slave上執行sql;

60.mysql主從的相關知識

  1. 複製類型分爲兩類,一種是記錄主數據庫的操做sql,而後在從數據庫執行;另外一種是將主數據庫中數據的變更記錄爲set語句,用set命令對從數據庫進行行的更新;
  2. 主從同步出錯時,有兩種方法解決
    解決方法一:跳過一步錯誤,繼續進行同步

msyql> stop slave; html

msyql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; mysql

msyql> start slave;
方法二:重作主從
msyql> stop slave; sql

#查看主服務器上當前的 bin-log 日誌名和偏移量數據庫

msyql> show master status;服務器

#而後到從服務器上執行手動同步
4.對主數據庫的操做要注意多線程

  • 不要用系統命令複製或刪除表數據文件,要用sql命令進行數據修改與表修改、建立或者刪除,否則會影響從數據庫,形成主從失敗;

5.Mysql主從複製常見故障及解決方法
http://www.10tiao.com/html/706/201603/403220961/1.html
6.查看主從延遲的方法負載均衡

  • 主從延時時間:Master 執行成功,到 Slave 執行成功,時間差
  • show slave status,經過比較SQL THREAD接受events時間的時間戳與IO THREAD執行事件events時間戳的差值--秒數,來肯定slave落後於master多少
  • 使用pt-heartbeat工具
    http://f.dataguru.cn/thread-461916-1-1.html
    7.同步複製
  • 主數據庫數據寫入完畢以後,在從數據庫也將數據寫入以後,主數據庫纔會向客戶端返回數據寫入成功
    異步複製
  • 主數據庫寫入以後,從數據庫隨後更新,只要求數據最終一致,容許延遲存在
    8.主從延遲的影響
  • 主從數據不一致,災備系統失效,負載均衡失效,下降系統性能9.常見的主從延遲緣由:Master 上,大事務,耗時長:優化業務,拆分爲小事務Master 上,SQL 執行速度慢:優化索引,提高索引區分度(事務內部有查詢操做)Master 上,批量 DML 操做:建議延遲至業務低峯期操做Master 上,多線程寫入頻繁, Slave 單線程速度跟不上:提高 Slave 硬件性能、藉助中間件,改善主從複製的單線程模式
相關文章
相關標籤/搜索