欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql GTID主从复制详解

程序员文章站 2022-03-08 10:40:45
...
MySQL复制在业界里有叫:mysql同步,ab复制等。专业名称就是叫:复制

复制是单向的,只能从master复制到slave上,延时基本上是毫秒级别的。

一组复制结构中可以有多个slave,对于master一般场景推荐只有一个。

master用户写入数据,生成event记到binary log中

slave接收master上传来的binlog,然后按顺序应用,重现master上的用户操作。

记录最小的单位是一个event,日志前4个字节是一个magic number,接下来19个字节记录formatt desc event:FDE

MySQL5.6增加了GTID复制

要求:

1、 主库上线,主库不停止服务的前提下做主从复制

2、 新添加一个丛库

操作:

1、 在主库导出数据(主库正常运行);

      mysql GTID主从复制详解

2、 将主库的sql文件传到丛库;

      mysql GTID主从复制详解

3、 丛库恢复数据库;

      mysql GTID主从复制详解

4、 在主服务器上,创建复制账号,赋权限

Mysql > GRANT REPLICATION SLAVE ON *.* TO 'repluser'@'3.9.8.%' IDENTIFIED BY 'replpass';

Mysql > flush privileges;

5、 配置从服务器的防火墙,允许防火墙通过3306端口

# vim /etc/sysconfig/iptables

添加

-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)

重启防火墙服务,使其生效

#service iptables restart

6、 丛库修改配置文件

# vim /etc/my.cnf

添加

      mysql GTID主从复制详解

      mysql GTID主从复制详解

7、 在从服务器上使用主mysql上创建的账号密码登录并进行复制

    mysql> change master to master_host='3.9.8.13', master_user='repluser',master_password='replpass',master_auto_position=1;

      mysql GTID主从复制详解

8、 丛库启动主从复制(可能会报错,参考10.问题集1) )

    mysql> start slave;

9、 检测主从复制

    mysql> show slave status\G

10、 问题集

    1) 启动主从复制,报错1872:slave failed to initialize relay log info structure from the repository.

        mysql GTID主从复制详解

mysql> reset slave;
mysql> change master to master_host='3.9.8.13', master_user='repluser',master_password='replpass',master_auto_position=1;
mysql> start slave;

mysql GTID主从复制详解

以上就是mysql GTID主从复制详解的详细内容,更多请关注其它相关文章!

相关标签: mysql GTID 在线