配置基於GTID的複製
--------------------------------------------
在參數文件/etc/my.cnf增長下面內容:
主庫
master_info_repository=TABLE
relay_log_info_repository=TABLE
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
sync-master-info=1
slave-parallel-workers=2
binlog-checksum=CRC32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
report-host=10.45.10.209
report-port=3306
server_id = 2091mysql
從庫除了上面的參數外,還要增長
relay-log = relay-log
relay-log-index = relay-log.indexsql
配置GTID的slave
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%' IDENTIFIED BY 'repl123';
flush privileges;
change master to master_host='10.45.10.209', master_user='repl',master_password='repl123',master_auto_position=1; 數據庫
GTID複製的好處:
對運維人員來講應該是一件大喜的事情,在主從切換後,在傳統的方式裏,你須要找到binlog和POS點,而後change master to指向,
而不是頗有經驗的運維,每每會將其找錯,形成主從同步複製報錯,在mysql5.6裏,你無須再知道binlog和POS點,
你只須要知道master的IP、端口,帳號密碼便可,由於同步複製是自動的,mysql經過內部機制GTID自動找點同步。架構
----------------------------------------
配置多源複製:
即多個主,複製到1個從庫,全部db彙總到一個slave的實例
注意:
多源數據庫不能有同名庫,不然會致使多源複製失敗運維
例如,在220的slave 3307實例上面配置多源複製,聚集3個主的數據
CHANGE MASTER TO MASTER_HOST='10.45.10.209', MASTER_USER='repl', MASTER_PORT=3307, MASTER_PASSWORD='repl123',MASTER_AUTO_POSITION=1 FOR CHANNEL 'master209-2';
CHANGE MASTER TO MASTER_HOST='10.45.10.218', MASTER_USER='repl', MASTER_PORT=3307, MASTER_PASSWORD='repl123',MASTER_AUTO_POSITION=1 FOR CHANNEL 'master218-2';
CHANGE MASTER TO MASTER_HOST='10.45.10.219', MASTER_USER='repl', MASTER_PORT=3307, MASTER_PASSWORD='repl123',MASTER_AUTO_POSITION=1 FOR CHANNEL 'master219-2';server
經常使用管理命令:
mysql> select * from mysql.slave_master_info;資源
mysql> START SLAVE io_thread FOR CHANNEL 'master209-2';
mysql> START SLAVE FOR CHANNEL 'master209-2';同步
mysql> show SLAVE status FOR CHANNEL 'master209-2'\Git
多源複製的好處:
對於備份目的的主備架構,多個主能夠備份到一臺物理備機上,節約資源io