首页/应用软件/内容

mysql GTID主从复制详细说明

应用软件2023-04-28 阅读()
SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
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主从复制详解的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。



……

相关阅读