簡介
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;