mysql5.5半同步複製機制

mysql5.5版本開始系統提供半同步複製機制,就是用來保障主從之間數據同步的及時性。在半同步機制下,master節點只要確認有至少一個slave節點接收到了事務,即向發起請求的客戶端返回操做成功的信息。mysql

查看當前系統安裝的全部插件:sql

mysql>show plugins;異步

查看mysql插件目錄:插件

mysql>show variables like 'plugin_dir';線程

半同步插件共有兩個,分別對應主從節點,semisync_master.so和semisync_slave.so,事務

在master節點執行命令,加載semisynchronous插件:同步

master> install plugin rpl_semi_sync_master soname 'semisync_master.so';ast

在slave節點也加載:配置

slave> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';plugin

經過show plugins檢查插件是否處於可用狀態,而後啓用改功能:

在master節點設置:

master> set global rpl_semi_sync_master_enabled = 1;

master> set global rpl_semi_sync_master_timeout = 3000;

rpl_semi_sync_master_enabled:用來控制是否在master節點啓用半同步複製,1即啓用狀態;

rpl_semi_sync_master_timeout:用來指定master節點等待slave響應的時間,單位是毫秒,默認爲10000即10秒,這裏設置爲3秒。若是超過指定時間slave節點仍無響應,那麼當前複製環境就臨時被轉換爲異步複製。

在slave節點設置:

slave> set global rpl_semi_sync_slave_enabled = 1;

rpl_semi_sync_slave_enabled:用來控制slave節點是否啓用半同步複製;

說明:上述修改是動態修改,建議將全部配置保存在初始化參數文件中。

配置好後,必需要從新啓動slave節點的IO_THREAD線程:

slave> stop slave IO_THREAD;

slave> start slave IO_THREAD;

這一步是讓slave節點從新鏈接master節點,註冊成爲半同步slave身份;

相關文章
相關標籤/搜索