MySQL主从同步(开GTID)

目录

一、搭建简单的主从同步

二、mysql删除主从(若没有配置过可以不用进行这一步)

1、停止slave服务器的主从同步

2、重置master服务

三、开启GTID

1、Master配置

2、Slave配置


一、搭建简单的主从同步

GTID原理:http://t.csdn.cn/gKyxi

见文:http://t.csdn.cn/gKyxi

二、mysql删除主从(若没有配置过可以不用进行这一步)

在创建数据库主从配置后,若想删除数据库的主从服务可根据以下步骤来删除数据库主从

1、停止slave服务器的主从同步

为了防止主从数据不同步,需要先停止slave上的同步服务

STOP SLAVE;

2、重置master服务

RESET MASTER;

RESET MASTER--是删除所有的二进制日志,创建一个.000001的空日志。RESET MASTER并不会影响SLAVE服务器上的工作状态,所以盲目的执行这个命令会导致slave找不到master的binlog,造成同步失败,我们要删除同步,所以必须执行它。

3、重置slave服务

reset slave;

change master to master_user='', master_host=' ', master_password='';

三、开启GTID

1、Master配置

1)添加配置

vim /etc/my.cnf

添加如下配置:

  • gtid-mode = ON
  • enforce-gtid-consistency = ON
  • log-slave-updates=1

2)重启MySQL服务

service mysql restart

or

systemctl restart mysqld

3)登入MySQL

mysql -uroot -p123456

4)创建一个用于同步数据的账号

  • grant replication slave on *.* to 'copy'@'%' identified by '123456';
  • flush privileges;

2、Slave配置

1)添加配置

vim /etc/my.cnf

添加如下配置:

  • gtid-mode=ON
  • enforce-gtid-consistency=ON
  • log-slave-updates=1

2)重启MySQL服务

service mysql restart

or

systemctl restart mysqld

3)登入MySQL

mysql -uroot -p123456

4) 设置从服务器的master

change master to master_host='192.168.3.244',
master_user='copy',
master_port=3306,
master_password='123456',
MASTER_AUTO_POSITION=1;

or

master_log_file='mysql-bin.000001',master_log_pos=120;

这种自动找点对方式,相对于之前使用bin-log+position找点就显得极其方便了。

省去了手动查看master执行到那个binlog,以及binlog的position。

做了如上的配置后,还是可以继续使用fileName和position找点,但是不推荐这样做了,如果非要这样做,设置MASTER-AUTO-POSITION=0

5) 从数据库开启同步

start slave;

6) 查看主从复制是否搭建完成

show slave status \G

猜你喜欢

转载自blog.csdn.net/m0_57126939/article/details/130847284