MySQL基于GTID主从搭建怎么实现

一、MySQL基于GTID的主从搭建

1、GTID(Global Transaction Identifier),全局事务标识符,是MySQL 5.6.6版本引入的一个新特性,它可以跟踪在MySQL实例上执行的每个事务,并且可以用于MySQL主从复制。

2、GTID主从搭建的步骤:

(1)配置MySQL主从:首先要在主库上启用GTID,在主库my.cnf中添加如下配置:

log-bin=mysql-bin
server-id=1
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=true

(2)在从库上添加如下配置:

server-id=2
gtid-mode=on
enforce-gtid-consistency=true
replicate-ignore-db=mysql
replicate-ignore-db=information_schema
replicate-ignore-db=performance_schema

(3)授权:在主库上授权从库的账号,GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’%’ IDENTIFIED BY ‘repl123’;

(4)在从库上执行CHANGE MASTER TO MASTER_HOST=’192.168.0.1′, MASTER_USER=’repl’, MASTER_PASSWORD=’repl123′, MASTER_AUTO_POSITION=1;

(5)启动从库:start slave;

二、GTID的优势

1、GTID可以跟踪在MySQL实例上执行的每个事务,可以更容易地实现复制的灵活性,可以更容易地实现主从复制的管理。

2、GTID可以让复制更安全,可以更快地实现复制,并且可以更容易地实现复制的管理。

3、GTID可以更容易地实现复制的自动重启,可以更容易地实现复制的跳过,可以更容易地实现复制的暂停和恢复。

4、GTID可以更容易地实现复制的分离,可以更容易地实现复制的重新分配,可以更容易地实现复制的移除。

三、GTID的不足

1、GTID模式下不支持基于位置的复制,也就是说不能使用CHANGE MASTER TO MASTER_LOG_FILE和MASTER_LOG_POS参数来指定复制的起始位置。

2、GTID模式下,不能在复制过程中暂停或者停止复制,只能在复制过程中跳过某些事务,但是跳过的事务会被记录在GTID中,下次复制的时候会被重新复制。

3、GTID模式下,在重新启动复制的时候,会从头开始复制,不能从指定的位置开始复制,也就是说不能指定复制的起始位置。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享