Mysql 5.7 主從復制的多線程復制配置方式


數據庫復制的主要性能問題就是數據延時

為了優化復制性能,Mysql 5.6 引入了 “多線程復制” 這個新功能

但 5.6 中的每個線程只能處理一個數據庫,所以如果只有一個數據庫,或者絕大多數寫操作都是集中在某一個數據庫的,那么這個“多線程復制”就不能充分發揮作用了

Mysql 5.7 對 “多線程復制” 進行了改善,可以按照邏輯時鍾的方式來分配線程,大大提高了復制性能

下面看一下在5.7中如何配置 “多線程復制”

01

對兩個 mysql 實例配置好主從復制

配置成功后,在從庫上使用show processlist查看現在的狀態

 

02

在從庫上停止復制

mysql> stop slave;
 

03

設置並發同步類型為邏輯時鍾方式

先看下現在 slave 的並發類型,通過變量slave_parallel_type的值來獲得,這個變量用來決定如何使用多線程復制

mysql> show variables like 'slave_parallel_type';
 

默認是datebase,每個線程只能處理一個數據庫

配置成基於邏輯時鍾的方式

mysql> set global slave_parallel_type='logical_clock';
 

 

 

04

設置復制線程的數量

先看下當前的並發數量,通過變量slave_parallel_workers的值來獲得,這個變量用來決定並發處理的線程數

mysql> show variables like 'slave_parallel_workers';
 

現在是 0,我們把他改成 4

mysql> set global slave_parallel_workers=4;
 

05

啟動復制

mysql> start slave;

06

驗證配置結果

mysql> show processlist;
 

可以看到已經有4個IO線程了,配置完成



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM