iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >CentOS 7 部署MySQL 5.7 主从复制(传统方式及GTID)
  • 425
分享到

CentOS 7 部署MySQL 5.7 主从复制(传统方式及GTID)

2024-04-02 19:04:59 425人浏览 八月长安
摘要

记录♪(^∇^*) 1、二进制文件和位置的复制;2、基于全局事物标识符(GTID)两种方式的主从复制:(测试环境为Centos 7.3) 一、基于二进制日志文件(传统方式) (1)、工作原理: 1、Mast

记录♪(^∇^*) 1、二进制文件和位置的复制;2、基于全局事物标识符(GTID)两种方式的主从复制:(测试环境为Centos 7.3)

一、基于二进制日志文件(传统方式)

(1)、工作原理:

1、Master把数据库操作记录到Binary log,并发送给Slave的I/O线程;
2、Slave的I/O线程把接收到Binary log存储到本地的Relay log;
3、Slave的sql线程从Relay log读取信息并在本地更新;

(2)、具体配置

主数据库(Master,192.168.100.51):

1、修改配置文件
    # vi /etc/my.cnf
    [Mysqld]
    #该id需设置为唯一
    server-id = 1
    #开启二进制日志
    log-bin = bin-log

2、创建复制账户

    进入mysql
    create user 'slave' @ '%' identified by 'slavepass';
    grant replication slave on *.* to 'slave' @ '%';

3、查看Master二进制文件名及位置

    show master status;

从数据库(SLAVE,192.168.100.52):

1、修改配置文件:

    # vi /etc/my.cnf
    [mysqld]
    #该id需设置为唯一
    server-id = 2

2、配置连接

    # 与主数据库创建的复制账户对应

    mysql> CHANGE MASTER TO
                             MASTER_HOST='192.168.100.51',
                             MASTER_USER='slave',
                             MASTER_PASSWord='slavepass',
                             MASTER_LOG_FILE='和主服务器file对应',
                             MASTER_LOG_POS='和主服务器pos对应';

    3、启动SLAVE

        mysql> START SLAVE;

    4、查看SLAVE状态

        mysql> SHOW SLAVE STATUS\G;

        查看Slave SQL线程和IO线程是否正常运行

(3)、测试

            在主数据库创建数据库,新增加表及数据,查看从库是否更新即可。

二、基于全局事务标识符复制(GTID)

(1)、原理

GTID是MYSQL 5.6引用的新特性,在数据库事务提交时会在binlog中产生一个对应的GTID,主从
复制时,从数据库会通过GTID来确定同步的位置,不用在去找File和Position。为什么说是全局,因为传统方式使用的pos在master和slave当中是不一样的。而对于GTID,对于相同的事务在master和slave当中是一致的。这样,当一个master宕机后,slave1提为master后,slave2不用在去找slave1的File和Position。

(2)、具体配置

主数据库(Master,192.168.100.51):

    1、修改配置文件

        # vi /etc/my.cnf
     [mysqld]
     #该id需设置为唯一
     gtid_mode = ON
     server-id = 1
     #开启二进制日志
     log-bin = bin-log
     enforce_gtid_consistency = ON

 2、创建复制账户

     mysql > grant replication slave on *.* to 'slave' @ '%' identified by 'slavepass';

从数据库(Master,192.168.100.52):

    1、修改配置文件

     # vi /etc/my.cnf

     [mysqld]
     gtid_mode = ON
     server_id = 2
     enforce_gtid_consistency = ON

    2、配置复制连接

    mysql> CHANGE MASTER TO
                             MASTER_HOST='192.168.100.51',
                             MASTER_USER='slave',
                             MASTER_PASSWORD='slavepass',
                             MASTER_AUTO_POSITION = 1;

    3、启动slave并查看

        mysql > start slave;
        mysql > show slave status\G;
您可能感兴趣的文档:

--结束END--

本文标题: CentOS 7 部署MySQL 5.7 主从复制(传统方式及GTID)

本文链接: https://www.lsjlt.com/news/36889.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • oracle怎么显示表的字段
    如何显示 oracle 表的字段 在 Oracle 数据库中,可以使用 DESC 命令显示表的字段。 语法: DESC table_name 参数: table_name:要显示字段的表...
    99+
    2024-05-14
    oracle
  • oracle怎么看所有的表
    在 oracle 数据库中查看所有表的步骤:连接到数据库运行查询:select table_name from user_tables; 如何使用 Oracle 查看所有表 ...
    99+
    2024-05-14
    oracle
  • oracle怎么显示行数
    如何使用 oracle 显示行数 在 Oracle 数据库中,有两种主要方法可以显示行数: 1. 使用 COUNT 函数 SELECT COUNT(*) FROM table_n...
    99+
    2024-05-14
    oracle
  • oracle怎么显示百分比
    oracle中显示百分比的方法有:使用百分号“%”;使用to_char()函数;使用format()函数(oracle 18c及更高版本);创建自定义函数。 Oracle 显...
    99+
    2024-05-14
    oracle
  • oracle怎么删除列
    oracle 中删除列的方法有两种:1)使用 alter table table_name drop column column_name 语句;2)使用 drop colum...
    99+
    2024-05-14
    oracle
  • sql怎么查看表的索引
    通过查询系统表,可以获取表的索引信息,包括索引名称、是否唯一、索引类型、索引列和行数。常用系统表有:mysql 的 information_schema.statistics、postg...
    99+
    2024-05-14
    mysql oracle
  • sql怎么查看索引
    您可以使用 sql 通过以下方法查看索引:show indexes 语句:显示表中定义的索引列表及其信息。explain 语句:显示查询计划,其中包含用于执行查询的索引。informat...
    99+
    2024-05-14
  • sql怎么查看存储过程
    如何查看 sql 存储过程的源代码:使用 show create procedure 语句直接获取创建脚本。查询 information_schema.routines 表的 routi...
    99+
    2024-05-14
  • sql怎么查看视图表
    要查看视图表,可以使用以下步骤:使用 select 语句获取视图中的数据。使用 desc 语句查看视图的架构。使用 explain 语句分析视图的执行计划。使用 dbms 提供...
    99+
    2024-05-14
    oracle python
  • sql怎么查看创建的视图
    可以通过sql查询查看已创建的视图,具体步骤包括:连接到数据库并执行查询select * from information_schema.views;查询结果将显示视图的名称、...
    99+
    2024-05-14
    mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作