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. 大数据入门第二十一天——scala入门(一)并发编程Actor

    注:我们现在学的Scala Actor是scala 2.10.x版本及以前版本的Actor. Scala在2.11.x版本中将Akka加入其中,作为其默认的Actor,老版本的Actor已经废弃 一. ...

  2. 大数据入门第十六天——流式计算之storm详解(一)入门与集群安装

    一.概述 今天起就正式进入了流式计算.这里先解释一下流式计算的概念 离线计算 离线计算:批量获取数据.批量传输数据.周期性批量计算数据.数据展示 代表技术:Sqoop批量导入数据.HDFS批量存储数据 ...

  3. JavaEE笔记(十一)

    Spring beans使用参数占位符(JDBC配置读取示例) beans.xml配置文件 <?xml version="1.0" encoding="UTF-8& ...

  4. EZ 2018 04 13 NOIP2018 模拟赛(八)

    这次的题目都是什么鬼? 玄学乱搞+肉眼看CODE+倒着搜索? 好吧是我ZZ了 链接在此 T1 玄学乱搞 由于考场上写的部分分做法忘记讨论n<=2000时的情况,少得了30pts 很容易得到一个基 ...

  5. Google是如何教会机器玩Atari游戏的

    转自:http://blog.csdn.net/revolver/article/details/50177219 今年上半年(2015年2月),Google在Nature上发表了一篇论文:Human ...

  6. R绘图 第八篇:绘制饼图(ggplot2)

    geom_bar()函数不仅可以绘制条形图,还能绘制饼图,跟绘制条形图的区别是坐标系不同,绘制饼图使用的坐标系polar,并且设置theta="y": coord_polar(th ...

  7. 【2017年9月10日更新】ABP配套代码生成器(ABP Code Generator)帮助文档,实现快速开发

    ABP代码生成器介绍 ABP Code Generator 针对abp这个框架做了一个代码生成器,功能强大.分为两大功能点,一个是数据层,一个是视图层. 数据服务层:通过它,可以实现表设计.领域层初始 ...

  8. 前端项目模块化的实践2:使用 Webpack 打包基础设施代码

    以下是关于前端项目模块化的实践,包含以下内容: 搭建 NPM 私有仓库管理源码及依赖: 使用 Webpack 打包基础设施代码: 使用 TypeScript 编写可靠类库 使用 TypeScript ...

  9. 解决SSH登录用户执行的命令部分环境变量参数不生效的问题

    问题概况 linux机器在/etc/profile配置完成环境变量后,SSH到目标机器执行命令,但是获取不到已配置的环境变量值. 例如场景: 在/etc/profile配置了http代理 export ...

  10. "学霸"系统Alpha版本发布说明

    一.版本功能 我们的软件为学霸app,目标功能为:北航校内学子的类“知乎”应用,可以实现用户的管理.提问.回答.搜索.上传.下载以及交互:当前版本主要实现功能为:用户的管理.提问.回答已经交互. 一下 ...