mysql5.6gtid模式的主从复制: 1.配置master的my.cnf文件: ##################master [mysqld] basedir = /usr/local/mysql datadir = /home/data/mysqldb socket = /home/data/mysqldb/mysql.sock port = 3306 server_id = 1 user=mysql binlog-format=ROW log-bin=master-bin.log-bin log-slave-updates=true gtid-mode=on enforce-gtid-consistency=true master-info_repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-worker=2 slave_allow_batching = 1 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log-events=1 server-id=1 port=3306 report-port=3306 report-host=192.168.100.3 lower_case_table_names=1 #安装完半同步插件后即可在配置文件中打开下面的选项 #rpl_semi_sync_slave_enabled=1 #rpl_semi_sync_master_enabled=1 #rpl_semi_sync_master_timeout=2000 2.配置master的my.cnf文件: ##################slave [mysqld] basedir = /usr/local/mysql datadir = /home/data/mysqldb socket = /home/data/mysqldb/mysql.sock port = 3306 server_id = 1 user=mysql binlog-format=ROW log-bin=master-bin.log-bin enforce-gtid-consistency=true master-info_repository=TABLE relay-log-info-repository=TABLE sync-master-info=1 slave-parallel-worker=2 slave_allow_batching = 1 master-verify-checksum=1 slave-sql-verify-checksum=1 binlog-rows-query-log-events=1 server-id=2 report-port=3306 port=3306 report-host=192.168.100.5 #安装完半同步插件后即可在配置文件中打开下面的选项 #rpl_semi_sync_slave_enabled=1 #rpl_semi_sync_master_enabled=1 #rpl_semi_sync_master_timeout=1000 3.备份主数据库(须安装perconna-xtrabackup软件): innobackupex --defaults-file=/etc/my.cnf --user=backupuser --password=backupuser --socket=/home/data/mysqldb/mysql.sock --parallel=3 --no-timestamp /home/backup/mysqlbak/20150603F 将/tmp/bak/fullbk下的备份文件传至从库的/tmp/bak/fullbk目录下,并执行如下语句: innobackupex --apply-log /tmp/bak/fullbk #注意:此处是将数据文件拷贝至配置文件中的datadir目录下: innobackupex --copy-back /tmp/bak/fullbk 4.安装同步插件并授权: 获取跳过的gtid值: awk '{print $3;}' xtrabackup_binlog_info 在mysql主从数据库中安装半同步插件: install plugin rpl_semi_sync_master soname 'semisync_master.so'; install plugin rpl_semi_sync_slave soname 'semisync_slave.so'; 设置跳过GTID值: SET @@GLOBAL.GTID_PURGED='XXXX'; 在mysql的主从数据库中授权,并开启半同步: GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.3' IDENTIFIED BY 'repl'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.100.5' IDENTIFIED BY 'repl'; set global rpl_semi_sync_slave_enabled=1; set global rpl_semi_sync_master_enabled=1; set global rpl_semi_sync_master_timeout=1000; 5.启动同步: change master to master host='',master_user='',master_password='',master_auto_position=1; start slave; 6.检查: 在mysql的主数据库中查看从客户端: show slave hosts; show master logs; show master status \G; show processlist\G; 在mysql从服务器中检查同步状态: mysql>show processlist\G; mysql>show slave status\G Slave_IO_Running: Yes Slave_SQL_Running: Yes Exec_Master_Log_Pos: 34810 Seconds_Behind_Master: 4 Master_Server_Id: 1 Auto_Position: 1 7.至此,完成基于GTID的主从配置