zoukankan      html  css  js  c++  java
  • 第九周LINUX 学习笔记

                                基于GTID的mysql主从简单复制

    一、简单主从模式配置步骤

    1、配置主从节点的服务配置文件

    1.1、配置master节点:
    [mysqld]
    binlog-format=ROW
    log-bin=master-bin
    log-slave-updates=true
    gtid-mode=on
    enforce-gtid-consistency=true
    master-info-repository=TABLE
    relay-log-info-repository=TABLE
    sync-master-info=1
    slave-parallel-workers=2 在MariaDB 中是slave-parallel-threads 多线程复制
    binlog-checksum=CRC32
    master-verify-checksum=1
    slave-sql-verify-checksum=1
    binlog-rows-query-log_events=1
    server-id=1
    report-port=3306
    port=3306
    datadir=/mydata/data
    socket=/tmp/mysql.sock
    report-host=master.magedu.com(注意这里填的是本机的主机名)

    1.2、配置slave节点:
    [mysqld]
    binlog-format=ROW
    log-slave-updates=true
    gtid-mode=on
    enforce-gtid-consistency=true
    master-info-repository=TABLE
    relay-log-info-repository=TABLE
    sync-master-info=1
    slave-parallel-workers=2    在MariaDB 中是slave-parallel-threads
    binlog-checksum=CRC32
    master-verify-checksum=1
    slave-sql-verify-checksum=1
    binlog-rows-query-log_events=1
    server-id=11
    report-port=3306
    port=3306
    log-bin=mysql-bin.log
    datadir=/mydata/data
    socket=/tmp/mysql.sock
    report-host=slave.magedu.com

    2、创建复制用户

    mysql> GRANT REPLICATION SLAVE ON *.* TO repluser@172.16.100.7 IDENTIFIED BY 'replpass';

    说明:172.16.100.7是从节点服务器;如果想一次性授权更多的节点,可以自行根据需要修改;

    3、为备节点提供初始数据集

    锁定主表,备份主节点上的数据,将其还原至从节点;如果没有启用GTID,在备份时需要在master上使用show master status命令查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。

    4、启动从节点的复制线程

    如果启用了GTID功能,则使用如下命令:
    mysql> CHANGE MASTER TO MASTER_HOST='master.magedu.com', MASTER_USER='repluser', MASTER_PASSWORD='replpass', MASTER_AUTO_POSITION=1;

    没启用GTID,需要使用如下命令:
    slave> CHANGE MASTER TO MASTER_HOST='172.16.100.6',
    -> MASTER_USER='repluser',
    -> MASTER_PASSWORD='replpass',
    -> MASTER_LOG_FILE='master-bin.000003',
    -> MASTER_LOG_POS=1174;



    二、半同步复制

    1、分别在主从节点上安装相关的插件

    master> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
    slave> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

    2、启用半同步复制

    在master上的配置文件中,添加
    rpl_semi_sync_master_enabled=ON

    在至少一个slave节点的配置文件中添加
    rpl_semi_sync_slave_enabled=ON

    而后重新启动mysql服务即可生效。


    或者,也可以mysql服务上动态启动其相关功能:

    master> SET GLOBAL rpl_semi_sync_master_enabled = ON;
    slave> SET GLOBAL rpl_semi_sync_slave_enabled = ON;
    slave> STOP SLAVE IO_THREAD; START SLAVE IO_THREAD;

    3、确认半同步功能已经启用

    master> CREATE DATABASE magedudb;
    master> SHOW STATUS LIKE 'Rpl_semi_sync_master_yes_tx';

    slave> SHOW DATABASES;

  • 相关阅读:
    使用Beautiful Soup扒取指定标题
    平时笔记
    2017年暑期大数据培训小记
    ZoomIt的使用方法
    ASP.NET使用富文本控件KindEditor(一步到位,亲测有效)
    ASP.NET使用Ajax返回Json对象
    Python简易爬虫
    Class.forName()用法详解
    【4-1】js函数、事件、补充知识
    【3-30】document获取、事件、标记样式
  • 原文地址:https://www.cnblogs.com/gohrx/p/10784369.html
Copyright © 2011-2022 走看看