MySQL基於事務的Replcaiton

jiaoqiubo發表於2020-10-05

基於事務的replcation 其實是利用GTID來實現複製的
GTID最初由google實現,在MySQL5.6中引入,GTID在事務提交時生成,由UUID和ID組成,UUID在第一次啟動mysql時生成,儲存在資料目錄下的auto.cnf檔案中事務ID從1開始自增,
使用GTID好處:
1、不需要指定傳統複製中的master_log_file和master_log_pos,使主從複製更簡單可靠
2、可以實現基於庫的多執行緒複製,減小主從複製的延遲

主伺服器配置:
1、修改配置檔案,開啟二進位制日誌,設定server-id,開啟gtid
2、建立二進位制日誌儲存路徑
3、賦予許可權
4、重啟服務
5、建立登陸賬戶
從伺服器配置:
1、修改配置檔案,設定server-id,開啟gtid,保持一致
2、重啟服務
3、設定slave

案例:
主伺服器配置:
1、vim /etc/my.cnf
log-bin=/var/log/mysql/mysql-bin
server-id=208
gtid_mode=ON
enforce_gtid_consistency=1
2、mkdir /var/log/mysql
3、chown -R mysql:mysql /var/log/mysql
4、systemctl restart mysqld
5、grant all on . to jqb@’%’ identified by ‘Jqb19910312,’;

從伺服器配置:
1、vim /etc/my/cnf
server-id=209
gtid_mode=ON
enforce_gtid_consistency=1
2、mysql> change master to
-> master_host=‘10.3.133.208’,
-> master_user=‘jqb’,
-> master_password=‘Jqb19910312,’,
-> master_auto_position=1; (此處必須為1)

3、mysql>show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
只要看到這兩個欄位後面全部是Yes,說明主從已經配置成功
同樣如果IO後面不是Yes,看一下配置的使用者許可權是否給了或者看一下slave是否寫的正確,

相關文章