用兩臺設備實現,現都是數據庫初始狀態,開始設置一主一從sql
(1)修改配置文件啓用,必要設置:log_bin和server_id=1,設置好後重啓centos
GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'192.168.239.%' IDENTIFIED BY 'admini';測試
(3)添加一個數據庫,再看二進制日誌的pos點centos7
(4)關閉防火牆spa
(1)必要設置:server_id=2,若是隻作從服務器配置不用寫log_bin
(3)在從節點上啓動複製線程
輸入一段代碼,這段只要記住會運用help change命令就行
再次輸入help CHANGE MASTER TO,能夠看到
MASTER_LOG_FILE='c7ts-bin.000001',
(3)完成後start slave,能夠用show slave status\G查看狀態
2、級聯複製
若是級聯複製服務器數據庫內容同步差不少,建議主服務器備份後,以還原方法給從服務器還原
mysqldump -A -F --single-transaction --master-data=1 | gzip > db.sql.gz
mysqlbinlog BINLOG --start-position=POSNUM > incr.sql
建立複製用戶帳號,grant replication slave on *.* to 'repluser'@'192.168.239.%' identified by 'admini'
關閉防火牆,而後進入數據庫後和主服務器創建主從鏈接,輸入指令help change master to
MASTER_LOG_FILE='c7ts-bin.000001',
三、show slave status\G檢查輸入信息是否正確
若是正常,start slave開始鏈接,鏈接以後show slave status\G
這裏也是若是數據相差太多,仍是建議用還原方法和前面的服務器同步
MASTER_LOG_FILE='centos7-1-bin.000001',
3、半同步複製
半同步複製實現:一主多從,若是至少一個從服務器同步成功,主服務器將會向客戶端返回成功信息;或者全部從服務器長時間沒有同步,超過了限定時長,主服務器也將會向客戶端返回成功信息
主服務器創建複製帳號,grant replication slave on *.* to 'repluser'@'192.168.239.%' identified by 'admini'
MASTER_HOST='192.168.239.200',
MASTER_LOG_FILE='master-bin.000001',
主服務器,進入mysql,show plugins檢查是否有semisync_master.so插件,沒有話安裝
INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
SET GLOBAL rpl_semi_sync_master_enabled=1;,寫入文件時永久保存
SHOW GLOBAL VARIABLES LIKE '%semi%';
SHOW GLOBAL STATUS LIKE '%semi%';
INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';
SET GLOBAL rpl_semi_sync_slave_enabled=1;
輸入後還須要stop slave; start slave;
驗證方法:主服務器執行指令前或者執行時,半同步服務器down掉,等主服務器返回後再上線半同步服務器,看數據是否寫入半同步
此時發現10秒返回了成功信息(這10秒的設置能夠本身設置爲3秒),此時再上線從服務器看數據是否同步
四、此時咱們加入複製過濾,由於複製過濾時不建議在主服務器添加選項,所以咱們在從服務器上開始設置
咱們實驗有兩臺從服務器,此時從服務器一臺設置數據庫黑名單,一臺設置表黑名單
後期若是有時間,將會補上SSL實驗和Cluster實驗