目录
基于gtid搭建主从MySQL
一、GTID的使用
想让主从之间使用gtid的方式同步数据,需要我们在配置文件中开启mysql对gtid相关的配置信息
找到my.cnf ,在mysqld模块中加入如下的配置。(主库从库都这样)
# on表示开启,OFF表示关闭
gtid-mode = ON
# 下面的两个变量必须开启,否则MySQL拒绝启动
log-slave-updates = 1
log-bin = MySQL-bin
# 必须开启,否则MySQL不启动,因为MySQL的SQL和gtid
# 许多MySQL的SQL和GTID是不兼容的。比如开启ROW 格式时,CREATE TABLE … SELECT
# 在binlog中会形成2个不同的事务,GTID无法唯一。
# 另外在事务中更新MyISAM表也是不允许的。
enforce_gtid_consistency = 1 #
log-bin-index = MySQL-bin.index
对主库来说依然需要创建一个用于同步数据的账号
mysql> grant replication slave on *.* to MySQLsync@"10.123.123.213" identified by "MySQLsync123";
Query OK, 0 rows affected, 1 warning (0.00 sec)
对从库中执行如下命令:即可完成主从同步
CHANGE MASTER TO
MASTER_HOST='10.123.123.123',
MASTER_USER='MySQLsync',
MASTER_PASSWORD='MySQLsync123',
MASTER_PORT=8882,
MASTER_AUTO_POSITION = 1;
这种自动找点对方式,相对于之前使用bin-log+position找点就显得及其方便了。
省去了手动查看master执行到那个binlog,以及binlog的position。
做了如上的配置后,还是可以继续使用fi