MySQL之GTID主從同步

簡介

Simple replication
這是一種最簡單的主從同步複製方式,添加一臺新的mysql服務作爲slave服務,並在此服務上回放master上所有的事務,當slave服務啓動後,會去讀取master上全部的binary log,這種方式簡單快捷,但是需要耗費時間。

master服務設爲只讀

如果已經配置了主從同步並且正在運行,先將master所有服務設爲只讀,然後確保slave上所有服務已經將數據同步更新。

SET @@global.read_only = ON;

停止master服務

將所有master服務停止。

配置GTID

master、slave服務上修改my.ini或者my.cnf,server_id確保不重複,然後啓動服務。

server_id=1
log_bin=mysql-bin-1
gtid_mode=on #開啓GTID模式
binlog_format=mixed #啓用混合模式
enforce-gtid-consistency=true #強制GTID一致性
log-slave-updates=true #從庫從主庫複製數據時可以寫入到binlog日誌
skip_slave_start=1 
binlog-do-db=db1 #同步數據庫
binlog-do-db=db2
expire_logs_days=7
max_binlog_size=20M

同步賬號

master服務上創建同步賬號。

mysql> grant replication slave on *.* to 'repl'@'%' identified by 'repl';

# 格式:mysql> GRANT REPLICATION SLAVE ON *.* TO '帳號'@'從服務器IP或主機名' IDENTIFIED BY '密碼';

開啓slave

mysql> CHANGE MASTER TO
     >     MASTER_HOST = '192.168.2.63',
     >     MASTER_PORT = 3306,
     >     MASTER_USER = 'repl',
     >     MASTER_PASSWORD = 'repl',
     >     MASTER_AUTO_POSITION = 1;
mysql> start slave;

master取消只讀

mysql> SET @@global.read_only = OFF;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章