MYSQL的GTID

要求MYSQL版本要在5.6之上,GTID复制不像传统的复制方式(异步复制、半同步复制)需要找到binlog文件名和POS点,只需要知道master的IP、端口、账号、密码即可。开启GTID后,执行change master_auto_postion=1即可,它会自动寻找到相应的位置开始同步。

配置范例:

主服务器配置

修改配置文件:

vim /etc/my.cnf
server-id=205
log-bin
gtid_mode=ON                 开启GTID
enforce_gtid_consistency     开启保证GTID安全的参数
log-slave-updates

重启服务

service mysqld restart

创建从服务器复制的账号

mysql> grant replication slave on *.* to relpuser@'10.0.0.%' identified by '123456';

从服务器配置

修改配置文件:

vim /etc/my.cnf
server-id=216
gtid_mode=ON                 开启GTID
enforce_gtid_consistency     开启保证GTID安全的参数
log-bin
log-slave-updates
 

重启服务

service mysqld restart

 

设置change master to

mysql>CHANGE MASTER TO
          MASTER_HOST='10.0.0.205',
          MASTER_USER='repluser',
          MASTER_PASSWORD='123456',
          MASTER_PORT=3306,
          MASTER_AUTO_POSITION=1;

此时从节点应该能与主进行同步

 

注意:

配置GTID时如果没有加上log-slave-updates则会一直报错

[root@localhost opt]# /etc/init.d/mysqld restart
Shutting down MySQL.. SUCCESS!
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/localhost.localdomain.pid).

 

posted @ 2020-08-31 13:23  金金金丶  阅读(173)  评论(0)    收藏  举报