zoukankan      html  css  js  c++  java
  • MariaDB 主从复制的配置

    一、安装MariaDB

    安装过程省略。

    二、主从配置

    环境

        Master/Slave     系统 IP 数据库版本
    Master     CentOS6.7         10.10.3.211         mariadb-10.1.19    
    Slave CentOS6.7 10.10.3.212 mariadb-10.1.19

    1、Master的配置

    (1)创建有复制权限的用户,命令如下:

    CREATE USER 'test'@'10.10.3.212' IDENTIFIED BY '123456';
    REVOKE ALL PRIVILEGES ,GRANT OPTION FROM 'test'@'10.10.3.212';
    GRANT RELOAD,LOCK TABLES, REPLICATION CLIENT ,REPLICATION SLAVE ON *.* TO 'test'@'10.10.3.212';
    FLUSH
    PRIVILEGES;

    (2)启用二进制日志

    修改配置文件/etc/my.cnf,增加如下行:

    log-bin = /usr/local/mysql/binlogs/master-bin

    注:目录没有话就先创建上

    (3)修改配置文件/etc/my.cnf,修改如下行:

    server-id = 1

    重启Master数据库服务

    2、Slave的配置

    (1)修改配置文件/etc/my.cnf,修改如下行:

    server-id = 2

    注:可用 show variables like 'server_id'; 查看 server_id 设置是否正确

    (2)修改配置文件/etc/my.cnf,启用中继日志,关闭二进制日志(如果启用了二进制日志就把配置文件里的注释或删掉)

    relay-log = /usr/local/mysql/relaylogs/relay-bin

    重启数据库服务,确定一下中继日志是否已开启。

    SHOW GLOBAL  VARIABLES LIKE 'relay_log';

    (3)连接Master服务器

    CHANGE MASTER TO MASTER_USER='test', MASTER_HOST='10.10.3.211', MASTER_PASSWORD='123456';
    CHANGE MASTER TO MASTER_USER='test', MASTER_HOST='10.10.3.211', MASTER_PASSWORD='123456',MASTER_LOG_FILE = 'mysql-bin.000129',MASTER_LOG_POS = 720905150;

    (4)启动复制线程:

    START SLAVE;

    查看一下状态

    SHOW SLAVE STATUSG

    (5)测试在Master上创建一个数据库,看Slave上有没有同步过来。

    在测试过程中发现,如果在Slave上直接修改一条数据,Master上再去对该条数据进行修改就无法同步到Slave。

    3、其他配置

    #要复制的数据库
    replicate-do-db = xsmart_drmp
    #不复制的数据库
    replicate-ignore-db = mysql
    replicate-ignore-db = performance_schema
    replicate-ignore-db = information_schema
    #要复制的表
    replicate-wild-do-table = xsmart_drmp.drmp_historyrecordsecond% (可用通配符%匹配)
    #不复制的表
    #replicate-wild-ignore-table =

  • 相关阅读:
    Go入门笔记-1 Unbuntu直接安装go 16.5版本
    EdgexGo2.0学习-12 consul不能按服务名获取数据
    EdgexGo2.0学习-11 测试读取ModBus协议
    win10下VirtualBox开启串口
    Linux 开发板通过笔记本上网
    EdgexGo2.0学习-10 edgex-consul 编译 for "-t, --tag" flag: invalid reference format
    EdgexGo2.0学习-9 ERROR: No matching distribution found for PyYAML<4,>=3.10
    EdgexGo2.0学习-8 pip not found
    EdgexGo2.0学习-7 20.10.6: Pulling from library/docker
    EdgexGo2.0学习-6 修改日志时区显示
  • 原文地址:https://www.cnblogs.com/kgdxpr/p/6183314.html
Copyright © 2011-2022 走看看