mysql主主同步设置

主主同步设置是同等的地位,所以以下操作在两台机器上都需要进行而且操作是相同的。

  • 服务器

    |服务器代号| IP| hostname|

    |---|---|---|

    |A | 192.168.70.128 |Debian1 |

    |B| 192.168.70.130 |Debian2 |

  • 创建同步账号

    分别在两台机器的mysql里面添加用户。如果需要制定特定的ip,只需将“%”替换成对应ip即可。

      mysql> grant replication slave on *.* to 'mysql'@'%' identified by "你的密码";
    Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)

    添加之后,用该账号信息,在A上尝试访问B的mysql,同时也在B上尝试访问A的mysql。

    如果都可以访问,那么这一步就OK了。

  • 修改配置文件

    分别停止mysql服务,然后修改两台机器的my.cnf配置文件,开启bin-log功能,配置server-id。

    A:

      vi /etc/mysql/my.cnf
    
      [myqld]
    server-id = 128
    log_bin =/your_path/
    slave-net-timeout = 60 #默认3600秒,缩短时间为了防止双YES的延迟假象
    #binlog-do-db=osyunweidb #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
    #binlog-ignore-db=mysql #不同步mysql系统数据库

    B:

     vi /etc/mysql/my.cnf
    [myqld]
    server_id = 130
    log_bin =/your_path/
    slave-net-timeout = 60
    #salve-net-timeout默认是3600秒,缩短时间是为了防止双YES的假象
    #binlog-do-db=osyunweidb #需要同步的数据库名,如果有多个数据库,可重复此参数,每个数据库一行
    #binlog-ignore-db=mysql #不同步mysql系统数据库
  • 重启mysql服务

    分别重启mysql服务

  • 查看作为master的状态

    为了防止在查看状态的时候数据库有数据变更,所以要先加上锁。

    A:

      mysql> flush tables with read lock;
    mysql> show master status \G
    *************************** 1. row ***************************
    File: mysql-bin.000003
    Position: 107
    Binlog_Do_DB:
    Binlog_Ignore_DB:
    1 row in set (0.00 sec)

    B:

      mysql> flush tables with read lock;
    mysql> show master status \G
    *************************** 1. row ***************************
    File: mysql-bin.000002
    Position: 433
    Binlog_Do_DB:
    Binlog_Ignore_DB:
    1 row in set (0.00 sec)
  • 作为slave指定对方为master

    根据master的状态信息填写下面的命令。

    A(192.168.70.128):
    change master to master_host='192.168.70.130', master_port=3306, master_user='mysql', master_password='lwj', master_log_file='mysql-bin.000002', master_log_pos=433;
    B(192.168.70.130):
    change master to master_host='192.168.70.128', master_port=3306, master_user='mysql', master_password='lwj', master_log_file='mysql-bin.000003', master_log_pos=107;
  • 重启slave

    分别取消锁,然后分别开启slave模式

      mysql>unlock tables;
    mysql>start slave;
  • 查看是否设置成功

    分别查看状态

      show slave status \G

    如果有以下两个参数均为YES,则设置成功。

      Slave_IO_Running: Yes
    Slave_SQL_Running: Yes

    否则,设置失败。根据报错信息(Last_IO_Error或Last_SQL_Error字段)重新配置以上操作。

  • 测试

    • 在A上新建一个数据库test,然后在B上面test也会被创建。
    • 在B上的test库新建表user,然后查看A的test库也发现表user也创建了。
    • 在A上对表user进行CURD,对应的在B上也看到相应CURD。

      如果上面的操作发现不能同步,需要检查之前的步骤。

mysql主主同步设置的更多相关文章

  1. MySQL数据的主从复制、半同步复制和主主复制详解

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  2. LVS+MYCAT+读写分离+MYSQL主备同步部署手册

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  3. 怎么设置 mysql 多主复制

    更新 其实本文主要来自www.digitalocean.com ,但是我没有买他们家的 VPS 用来 demo 了.只是用vagrant 来模拟了. 介绍 说说关于通过两台 vps 来扩展 mysql ...

  4. MySQL数据的主从复制、半同步复制和主主复制详解-转

    一.MySQL复制概述 ⑴.MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费 ...

  5. MySQL 主主同步配置和主从配置步骤

    ★预备知识 : 1.双机热备 对于双机热备这一概念,我搜索了很多资料,最后,还是按照大多数资料所讲分成广义与狭义两种意义来说. 从广义上讲,就是对于重要的服务,使用两台服务器,互相备份,共同执行同一服 ...

  6. 【转载】LVS+MYCAT+读写分离+MYSQL主备同步部署手册(邢锋)

    LVS+MYCAT+读写分离+MYSQL主备同步部署手册 1          配置MYSQL主备同步…. 2 1.1       测试环境… 2 1.2       配置主数据库… 2 1.2.1  ...

  7. MySQL主主同步配置

    1. MySQL主主配置过程 在上一篇实现了主从同步的基础上,进行主主同步的配置. 这里用node19(主),node20(从)做修改,使得node19和node20变为主主同步配置模式 修改配置文件 ...

  8. Mysql主从同步(1) - 概念和原理介绍 以及 主从/主主模式 部署记录

    Mysql复制概念Mysql内建的复制功能是构建大型高性能应用程序的基础, 将Mysql数据分布到多个系统上,这种分布机制是通过将Mysql某一台主机数据复制到其它主机(slaves)上,并重新执行一 ...

  9. MYSQL 的 MASTER到MASTER的主主循环同步

    MYSQL 的 MASTER到MASTER的主主循环同步   刚刚抽空做了一下MYSQL的主主同步.把步骤写下来,至于会出现的什么问题,以后随时更新.这里我同步的数据库是TEST1.环境描述.   主 ...

随机推荐

  1. R链接hive/oracle/mysql

    Linux:R连接hive用的Rhive 1,重要 1,sudo R CMD javareconf 2,sudo R 3, 1+1 是否为2 3.1,>install.packages(&quo ...

  2. Spring集成Swagger,Java自动生成Api文档

    博主很懒... Swagger官网:http://swagger.io GitHub地址:https://github.com/swagger-api 官方注解文档:http://docs.swagg ...

  3. Servlet——提交表单信息,Servlet之间的跳转

    HTML表单标签:<form></form> 属性: actoion:  提交到的地址,默认为当前页面 method:  表单提交方式 有get和post两种方式,默认为get ...

  4. LoRa---官方例程移植

    SX1278芯片上移植Semtech官方PING-PONG例程 移植环境:keil5.20 硬件平台:stm32f051+sx1278 1.下载源码:Semtech官网下载最新例程链接:http:// ...

  5. BZOJ1000-1099板刷计划(附题解链接)

    BZOJ1000-1099板刷计划 感觉完全做不动啊... \(Orz\) \(M\_sea\)板刷bzoj狂魔 1000 - 1009 1000 ...懒得说了 1001 懒得平面图转对偶图,最小割 ...

  6. 继承类中static数据值

    class A{ static int num = 1; public static void Display(){ System.out.println( num ); } } class B ex ...

  7. Java类加载器学习笔记

    今后一段时间会全面读一下<深入理解Java虚拟机> 在这里先记一下在网上看到的几篇介绍 类加载器 的文章,等读到虚拟机类加载机制再详细介绍. 超详细Java中的ClassLoader详解 ...

  8. jmeter实战1

  9. package.json 中 npm 依赖包版本前的符号的意义

    版本的格式 major.minor.patch:主版本号.次版本号.修补版本号 patch:修复bug,兼容老版本 minor:新增功能,兼容老版本 major:新增功能,不兼容老版本 version ...

  10. Deferred Shading 延迟着色(翻译)

    原文地址:https://en.wikipedia.org/wiki/Deferred_shading 在3D计算机图形学领域,deferred shading 是一种屏幕空间着色技术.它被称为Def ...