• Windows下搭建MySql Master-Master Replication


    1.首先下载最新版的MySql Server (http://dev.mysql.com/downloads/windows/installer/)

    2.安装MySql Server到两台机器上

    MySql 1: 192.168.0.104 (以下简称104)

    MySql 2: 192.168.0.103  (以下简称103)

    3. 配置Mysql Server启动Binary Logging.
    在104的my.ini文件(一般在C:ProgramDataMySqlMySql Server 5.6my.ini)中添加如下配置信息

    [mysqld]
    log-bin=mysql-bin
    server-id=1

    103的my.ini文件中添加如下配置信息

    [mysqld]
    log-bin=mysql-bin
    server-id=2

    4.重启MySql

    5.为Replication创建User,并赋予权限

    mysql> CREATE USER 'repl' @'%' identified by 'repl';

    mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';

    6. 查看两台Mysql Server当前bin log的位置(因为我们只需要同步两个server从当前状态之后的操作)

    6.1 分别在两台机器上执行如下命令:

    FLUSH TABLES WITH READ LOCK;

    SHOW MASTER STATUS;

    103会得到如下结果:

    image

    104会得到如下结果:

    image

    图中File表示当前的binary log文件名,Position是表示Binary log文件的当前位置,呆会replication应该是从这个位置开始。

    7. 释放Lock

    在两台机器上执行如下命令:Unlock Tables.让两台MySql可以正常进行数据库操作

    8,设置Slave Replication.

    8.1 启动104上的slave replication.

    8.1.1 执行 Stop Slave

    8.1.2 执行如下命令:

    CHANGE MASTER TO  MASTER_HOST='192.168.0.103', MASTER_USER='repl', MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=411;

    8.1.3 执行Start Slave

    8.1.4 查看slave的状态,执行Show Slave StatusG;

    image

    8.2 启动103上的slave replication.

    8.2.1 执行 Stop Slave

    8.2.2 执行如下命令:

    CHANGE MASTER TO  MASTER_HOST='192.168.0.104', MASTER_USER='repl', MASTER_PASSWORD='repl',MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=411;

    8.2.3 执行Start Slave

    8.2.4 查看slave的状态,执行Show Slave StatusG;

    image

    9.测试replication效果

    9.1 在104上执行:

    mysql> create database repltest;

    mysql> use repltest;

    mysql> create table person(id int,name varchar(255));

    mysql> insert into person values(1,’jensen’);

    9.2在103上执行:

    mysql> use repltest;

    mysql> select * from person; 验证在104上插入的记录已经同步现103上

    image

    9.3 在103上插入记录

    mysql> insert into person values(2,’jensen’);

    9.4 在104上验证结果

    mysql> select * from person;

    image

    10. 对于自增ID列,两台Server同步时会因为值一样而造成冲突。解决方案:利用mysql的auto_increment_increment和auto_increment_offset来限定每台server生成的ID限定在一定范围内(如:104生成奇数ID,103生成偶数ID)

  • 相关阅读:
    hadoop3.0.0测验
    红外遥控器通信原理_红外遥控器协议
    N76E003之WDT(看门狗定时器)
    N76E003之IIC
    电阻之上拉电阻与下拉电阻详解(转)
    GPIO输入输出各种模式(推挽、开漏、准双向端口)详解(转)
    N76E003之IO控制
    N76E003之SPI
    51单片机的idata,xdata,pdata,data的详解(转)
    N76E003之ISP
  • 原文地址:https://www.cnblogs.com/Code-life/p/3813896.html
Copyright © 2020-2023  润新知