mysql半同步複製的設定

ittangzeng發表於2019-02-24

在主、從上安裝和開啟半同步外掛

mysql> install plugin rpl_semi_sync_master soname 'semisync_master.so';

Query OK, 0 rows affected (0.02 sec)

mysql> set global rpl_semi_sync_master_enabled=on;

 

在主、從上檢查是否安裝成功

mysql> show variables like '%semi%';

+-------------------------------------------+------------+

| Variable_name | Value |

+-------------------------------------------+------------+

| rpl_semi_sync_master_enabled | OFF |

| rpl_semi_sync_master_timeout | 10000 |

| rpl_semi_sync_master_trace_level | 32 |

| rpl_semi_sync_master_wait_for_slave_count | 1 |

| rpl_semi_sync_master_wait_no_slave | ON |

| rpl_semi_sync_master_wait_point | AFTER_SYNC |

+-------------------------------------------+------------+

6 rows in set (0.00 sec) 


相關引數解釋

rpl_semi_sync_master_enabled ##設定為on表示開啟了半同步功能

rpl_semi_sync_master_timeout ##單位是毫秒,表示如果主庫等待從庫回覆訊息的時間超過該值,就自動切換為非同步複製模式

rpl_semi_sync_master_wait_for_slave_count ##它控制主庫接收多少個從庫寫 事務 成功反饋,才返回成功給客戶端

rpl_semi_sync_master_wait_point ##預設值是AFTER_SYNC,含義是主庫將每個 事務 寫入binlog,並傳遞給從庫,重新整理到中繼日誌,主庫開始等待從庫的反饋,接收到從庫的回覆之後,再提交事務並且返回“commit ok”結果給客戶端


重啟從庫的io執行緒讓設定生效

stop slave io_thread;

start slave io_thread;


最好不要重啟sql_thread,免得影響slave的重演工作。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29497382/viewspace-2636811/,如需轉載,請註明出處,否則將追究法律責任。

相關文章