<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當前位置: 首頁 - 科技 - 知識百科 - 正文

        深入解析半同步與異步的MySQL主從復制配置

        來源:懂視網 責編:小采 時間:2020-11-09 20:53:00
        文檔

        深入解析半同步與異步的MySQL主從復制配置

        深入解析半同步與異步的MySQL主從復制配置:簡單來講MySQL的主從復制就是一個C/S架構的應用。master可以認為是我們通常意義上所認為的server,slave可以當作是一臺client。slave上的I/O線程去請求master上數據,而master驗證通過slave的信息后就允許slave接入,然后進行數據變化信息的發送。 一、
        推薦度:
        導讀深入解析半同步與異步的MySQL主從復制配置:簡單來講MySQL的主從復制就是一個C/S架構的應用。master可以認為是我們通常意義上所認為的server,slave可以當作是一臺client。slave上的I/O線程去請求master上數據,而master驗證通過slave的信息后就允許slave接入,然后進行數據變化信息的發送。 一、

        簡單來講MySQL的主從復制就是一個C/S架構的應用。master可以認為是我們通常意義上所認為的server,slave可以當作是一臺client。slave上的I/O線程去請求master上數據,而master驗證通過slave的信息后就允許slave接入,然后進行數據變化信息的發送。
        一、MySQL主從復制原理
        這里我以MySQL5.5為例來說一下MySQL的主從復制的原理:

        20151218173011422.jpg (357×306)

        首先由備節點的I/O線程負責向主節點請求數據,主節點驗證通過以后會由dump線程把數據發送給備用節點。備用節點的I/O線程收到資源后會把把這些數據寫入到中繼日志,備節點的SQL線程檢測到中繼日志變更后會立刻根據中繼日志的內容跟新備庫的內容。這樣就完成了同步的過程。

        二、常見的復制模型
        1、一主一從模型

        20151218173031597.jpg (285×133)

        這種架構的優點就是比較簡單,搭建和維護都比較容易,成本也比較低。對于一些負載量不是特別大、可靠性要求不是特別高的場合,完全可以采用這種模型。但是對于一些負載比較大站點,和對可用性要求比較高的場合,這種架構就不太適用了。因為如果訪問量比較大,Master節點的壓力會比較的,另外如果Master崩潰,也會導致業務的終止。
        2、一主多從模型

        20151218173048976.jpg (395×314)

        在絕大多數場景中,我們的應用都是讀多寫。我們使用這種架構,通過讀寫分離的技術,可以有效降低Master上讀的壓力。我們在后端的slave上可以做一些數據備份,數據挖掘等方面的工作。但是如果備庫比較多,同時主庫又要負責其他的請求時,主庫的壓力會明顯增大,此時主庫會成為整個系統的性能瓶頸。
         
            當然,還有其他的復制模型,比如多級中繼,和環狀復制等,這些復制的基本原理都和上面的差不多,這里不再詳細的解釋了。
        3、配置主從復制
        (1)、異步復制
        主從同步的條件:
        Master:
               a:啟用二進制日志;
               b:選擇一個server-id
               c:創建具有復制權限的用戶
        Slave:
               a:啟用中繼日志
               b:選擇一個唯一的server-id
               c:連接主服務器,并開始復制數據
        A、首先在主庫上建立用于復制的最小權限的用戶

        mysql> grant replication slave,replication client on *.* to repl@'10.12.%'
        
         -> identified by '123456';
        Query OK, 0 rows affected (0.03 sec)
        
        

        B、在從庫上連接主庫

        mysql> CHANGE MASTER TO MASTER_HOST='10.12.128.19',MASTER_PORT=3306,MASTER_USER='repl', 
        MASTER_PASSWORD='123456',MASTER_LOG_FILE='mysql-bin.000006', MASTER_LOG_POS=451;
        
        #查看復制的狀態
        mysql> show slave status\G
        
        
        *************************** 1. row ***************************
         Slave_IO_State: Waiting for master to send event
         Master_Host: 10.12.128.19
         Master_User: repl
         Master_Port: 3306
         Connect_Retry: 60
         Master_Log_File: mysql-bin.000006
         Read_Master_Log_Pos: 1512
         Relay_Log_File: relay_index.000002
         Relay_Log_Pos: 283
         Relay_Master_Log_File: mysql-bin.000006
         Slave_IO_Running: Yes
         Slave_SQL_Running: Yes
         Replicate_Do_DB: 
         Replicate_Ignore_DB: 
         Replicate_Do_Table: 
         Replicate_Ignore_Table: 
         Replicate_Wild_Do_Table: 
         Replicate_Wild_Ignore_Table: 
         Last_Errno: 0
         Last_Error: 
         Skip_Counter: 0
         Exec_Master_Log_Pos: 1512
         Relay_Log_Space: 452
         Until_Condition: None
         Until_Log_File: 
         Until_Log_Pos: 0
         Master_SSL_Allowed: No
         Master_SSL_CA_File: 
         Master_SSL_CA_Path: 
         Master_SSL_Cert: 
         Master_SSL_Cipher: 
         Master_SSL_Key: 
         Seconds_Behind_Master: 0
        Master_SSL_Verify_Server_Cert: No
         Last_IO_Errno: 0
         Last_IO_Error: 
         Last_SQL_Errno: 0
         Last_SQL_Error: 
         Replicate_Ignore_Server_Ids: 
         Master_Server_Id: 3306
         Master_UUID: 97f33396-ed12-11e4-921a-000c29e8ee06
         Master_Info_File: /mydata/data5.6/master.info
         SQL_Delay: 0
         SQL_Remaining_Delay: NULL
         Slave_SQL_Running_State: Slave has read all relay log; waiting for the slave I/O thread to update it
         Master_Retry_Count: 86400
         Master_Bind: 
         Last_IO_Error_Timestamp: 
         Last_SQL_Error_Timestamp: 
         Master_SSL_Crl: 
         Master_SSL_Crlpath: 
         Retrieved_Gtid_Set: 
         Executed_Gtid_Set: 
         Auto_Position: 0
        1 row in set (0.00 sec)
        
        

        C、然后再從庫上執行:

        #啟動復制
        mysql> start slave;
        

            也可以單獨啟動IO線程和SQL線程。
        (如果從庫的IO線程狀態一直是connecting的狀態,可能是防火墻的原因,一般來說關閉防火墻或者配置防火墻規則就可以了)
        (2)、半同步復制
        半同步復制是基于Google為MySQL開發的半同步復制的插件。半同步復制的原理是,一個事務在主服務器上執行完成后,必須至少確保至少在一臺從服務器上執行完成后,事務才算提交成功。如果在一定時間內從服務器沒有響應,則會自動降級為異步復制。
        這個半同步復制是建立在異步復制的基礎之上進行的。
        首先需要安裝Google的半同步插件:

        master:

        install plugin rpl_semi_sync_master soname 'semisync_master.so';
        

         
        slave:

        install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
        

        然后開啟半同步的功能

        master:

        set global rpl_semi_sync_master_enabled = 1;
        set global rpl_semi_sync_master_timeout = 100; //以毫秒計算
        

        slave:

        set global rpl_semi_sync_slave_enabled = ON;
        

        在從庫上還需要重啟IO線程:

        stop slave IO_thread;
        start slave IO_thread;
        

        分別在主庫和備庫上查看半同步插件運行的狀態:

        mysql> show global status like 'rpl%';
        
        +--------------------------------------------+-------+
        | Variable_name | Value |
        +--------------------------------------------+-------+
        | Rpl_semi_sync_master_clients | 1 |
        | Rpl_semi_sync_master_net_avg_wait_time | 0 |
        | Rpl_semi_sync_master_net_wait_time | 0 |
        | Rpl_semi_sync_master_net_waits | 0 |
        | Rpl_semi_sync_master_no_times | 1 |
        | Rpl_semi_sync_master_no_tx | 8 |
        | Rpl_semi_sync_master_status | ON |
        | Rpl_semi_sync_master_timefunc_failures | 0 |
        | Rpl_semi_sync_master_tx_avg_wait_time | 0 |
        | Rpl_semi_sync_master_tx_wait_time | 0 |
        | Rpl_semi_sync_master_tx_waits | 0 |
        | Rpl_semi_sync_master_wait_pos_backtraverse | 0 |
        | Rpl_semi_sync_master_wait_sessions | 0 |
        | Rpl_semi_sync_master_yes_tx | 0 |
        +--------------------------------------------+-------+
        14 rows in set (0.04 sec)
        
        
        mysql> show global status like 'rpl%';
        
        +----------------------------+-------+
        | Variable_name | Value |
        +----------------------------+-------+
        | Rpl_semi_sync_slave_status | ON |
        +----------------------------+-------+
        1 row in set (0.04 sec)
        

        可以看到,主庫和備庫的半同步插件都已經處于啟用狀態。
        至此,異步主從配置結束。

        您可能感興趣的文章:

      1. MySQL主從復制的原理及配置方法(比較詳細)
      2. linux系統下實現mysql熱備份詳細步驟(mysql主從復制)
      3. Mysql主從復制(master-slave)實際操作案例
      4. MySQL的主從復制步驟詳解及常見錯誤解決方法
      5. MySQL主從復制配置心跳功能介紹
      6. 詳解MySQL實現主從復制過程
      7. mysql5.6 主從復制同步詳細配置(圖文)
      8. MySQL數據庫InnoDB引擎主從復制同步經驗總結
      9. mysql(master/slave)主從復制原理及配置圖文詳解
      10. MySQL數據庫主從復制延時超長的解決方法
      11. 聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        深入解析半同步與異步的MySQL主從復制配置

        深入解析半同步與異步的MySQL主從復制配置:簡單來講MySQL的主從復制就是一個C/S架構的應用。master可以認為是我們通常意義上所認為的server,slave可以當作是一臺client。slave上的I/O線程去請求master上數據,而master驗證通過slave的信息后就允許slave接入,然后進行數據變化信息的發送。 一、
        推薦度:
        標簽: mysql 主從 mysql的
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 浮力影院亚洲国产第一页| 成人免费一级毛片在线播放视频| 欧美日韩亚洲精品| 香蕉视频免费在线播放| 中国一级毛片视频免费看| 57pao一国产成视频永久免费| 日韩在线a视频免费播放| 中文字幕无码精品亚洲资源网| 一级做a免费视频观看网站| 亚洲黄色免费网址| 亚洲成人一级电影| www.xxxx.com日本免费| 韩国免费一级成人毛片| 亚洲日韩中文无码久久| 亚洲人成无码网站在线观看| 成年免费a级毛片免费看无码| 亚洲精品无码AV人在线播放| 国产精品久久久久久亚洲小说| 91短视频在线免费观看| 亚洲精品成人片在线观看| 亚洲色图激情文学| 久久WWW免费人成—看片| 女人18毛片水真多免费看| 亚洲AV无码专区国产乱码电影| 精品在线免费视频| 亚洲中文字幕无码久久综合网| 国产精品亚洲а∨无码播放不卡| 亚洲第一区在线观看| 亚洲国产AV无码一区二区三区| av无码免费一区二区三区| 亚洲国产天堂久久综合网站| 久久久久久国产a免费观看不卡| 久久亚洲AV无码精品色午夜麻豆 | 亚洲人成网站18禁止| 亚洲Av无码乱码在线观看性色| 99久热只有精品视频免费看| 日本亚洲成高清一区二区三区| 亚欧国产一级在线免费| 亚洲性一级理论片在线观看| 亚洲国产一区视频| 免费不卡视频一卡二卡|