CentOS 7 部署MySQL 5.7 主从复制(传统方式及GTID)
admin
2023-04-18 17:04:17
0

记录♪(^∇^*) 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;

相关内容

热门资讯

伊媒披露伊美新一轮谈判5个先决... 当地时间5月12日,据伊朗法尔斯通讯社援引知情人士消息报道,伊朗对与美国新一轮谈判提出的5个先决条件...
英国将向霍尔木兹海峡多国护航行... 当地时间12日,总台记者从英国国防部获悉,英国将向在霍尔木兹海峡执行任务的多国护航行动提供无人机、战...
强化技术引领场景培育政策保障 ... 5月11日,省长叶建春就脑机接口技术与产业创新工作开展专题调研。他强调,脑机接口是培育未来产业发展新...
上海交大王如竹教授领衔撰写的“... 4月30日,国际制冷学会(IIR,International Institute of Refrig...
非人类身份蔓延:智能体AI真正... 长期以来,企业依赖服务账户、API密钥、OAuth令牌等各类非人类身份凭证,使不同服务能够在数字环境...
脑机接口“狂飙” 从病房走向多... (记者 陈锦锋)当大脑的神经信号能够直接与外部设备对话,“心想事成”便从科幻走向现实。近日,中南大学...
中巴外长通话,王毅:希望巴方保... 2026年5月12日晚,中共中央政治局委员、外交部长王毅同巴基斯坦副总理兼外长达尔通电话。达尔介绍了...
美参议院投票批准凯文·沃什出任... △凯文·沃什(资料图)当地时间5月12日,美国参议院投票批准凯文·沃什出任美联储主席,目前相关投票程...
缺油!日本快撑不住了 日本零食巨头卡乐比为节省油墨竟将原本漂亮的包装改成了黑白两色,从“喜食”变得看上去像“丧食”。日本石...
英国首相斯塔默再遭逼宫,在内阁... 【文/观察者网 熊超然】在上周经历地方选举惨败后,作为执政党领袖的英国首相斯塔默于当地时间5月11日...