首页  >  文章  >  数据库  >  mysql GTID主从复制详解

mysql GTID主从复制详解

零下一度
零下一度原创
2017-07-23 13:32:261318浏览

        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、         在主库导出数据(主库正常运行);

       

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

       

3、         丛库恢复数据库;

       

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

添加

       

       

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

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

       

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> 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主从复制详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn