如何在 MySQL 5.6 中设置 GTID 复制
什么是 GTID?
GTID (全局事务标识符) 是一个唯一标识符,创建并关联在源服务器上提交的每个事务。它由两个部分组成,由一列分隔:
GTID = source_id:transaction_id
在哪里,
source_id : 服务器的 UUID
transaction_id : 序列编号
GTID 优势
- 易于设置 MySQL 复制。
- 主和从之间的一致性是保证的。
- 故障转移过程变得简单。
- 自动故障转移脚本现在并不痛苦。
- 易于确定不一致。
使用 GTID 设置复制
MySQL 主端配置
MySQL 从侧配置
主侧配置
将以下变量添加到 /etc/my.cnf。
# vim /etc/my.cnf [mysqld] log-bin = mysql-bin server-id = 1 relay-log = relay-log-slave gtid-mode =ON enforce-gtid-consistency binlog_format = MIXED log_slave_updates
保存并关闭文件。
重新启动 MySQL 以应用配置更改:
# service mysql restart
现在创建一个 MySQL 用户,由从属服务器使用。
mysql> GRANT REPLICATION SLAVE ON *.* TO 'slave_user_name'@'slave_ip' IDENTIFIED BY 'password';
从侧配置
将以下变量添加到 /etc/my.cnf。
# vim /etc/my.cnf [mysqld] log_bin = mysql-bin server_id = 2 binlog_format = ROW skip_slave_start gtid_mode = on enforce_gtid_consistency log_slave_updates
保存并关闭文件。
重新启动 MySQL 以应用配置更改:
# service mysql restart
现在运行 CHANGE MASTER TO 命令:
mysql> CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_PORT=3306, MASTER_USER='slave_user_name', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1;
开始复制
mysql> start slave;
检查复制
现在,通过运行以下命令来检查复制副本状态:
mysql> show slave status\G; Slave_IO_State: Waiting for master to send event Master_Host: 192.168.0.5 Master_User: repleuser Master_Port: 3306 . . . Slave_IO_Running: Yes Slave_SQL_Running: Yes . . . Retrieved_Gtid_Set: b9b4712a-df64-11e3-b391-60672090eb04:1-2 Executed_Gtid_Set: b9b4712a-df64-11e3-b391-60672090eb04:1-2 Auto_Position: 1
向 GTID 复制添加新从属
按照以下步骤向 GTID 复制添加新的从属服务器:
1. 主服务器备份使用 mysqldump .
mysql> mysqldump -u root -p --all-databases –flush-privileges --single-transaction --flush-logs --triggers --routines --events –hex-blob > /path/to/backupdir/full_backup-$TIMESTAMP.sql
2. 编辑新的从属服务器/etc/my.cnf文件,如上所述。
3.现在还原从属服务器上的主备份文件。
4.使用 CHANGE MASTER TO 命令并添加 MASTER_AUTO_POSITION=1
5.启动 MySQL 从站。
mysqldump 知道 Gtid
-- -- GTID state at the beginning of the backup -- SET @@GLOBAL.GTID_PURGED='b9b4712a-df64-11e3-b391-60672090eb04:1-7';
谢谢:)
谢谢!访问看 Linux 。
如果您发现本教程有帮助,请与你的朋友分享,以保持它活着。有关更多有用的主题,请浏览我的www.looklinux.com。成为作者在看Linux提交文章。与 Facebook保持联系。