mysql主主同步设置

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

  • 服务器

    |服务器代号| IP| hostname|

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

    |A | 192.168.70.128 |Debian1 |

    |B| 192.168.70.130 |Debian2 |

  • 创建同步账号

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

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

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

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

  • 修改配置文件

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

    A:

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

    B:

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

    分别重启mysql服务

  • 查看作为master的状态

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

    A:

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

    B:

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

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

    1. A(192.168.70.128):
    2. 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;
    3. B(192.168.70.130):
    4. 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模式

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

    分别查看状态

    1. show slave status \G

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

    1. Slave_IO_Running: Yes
    2. 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. 20155328 《网络攻防》 实验一:PC平台逆向破解(5)M

    20155328 <网络攻防> 实验一:PC平台逆向破解(5)M 实践目标 实践对象:linux可执行文件pwn1. 正常执行时,main调用foo函数,foo函数会简单回显任何用户输入的 ...

  2. HQL语句的3个小技巧

    1.巧用new map        在查询表中部分字段的值时,我们可以用map来封装这些字段的值,可以提高查询效率,而且查出数据也更小,传输到页面的速度也更快.  如:查询角色时,我们只想要 id, ...

  3. WPF 初学VisifireChart

    visifire今天登陆他们官网的时候,发现好像是挂掉了,不知道是不再运营了,还是单纯服务器出了问题. VisifireChart的效果不炫,但是对于一些项目,感觉够用的,所以,今天大概看了几篇博客, ...

  4. 《Flask Web开发实战:入门、进阶与原理解析(李辉著 )》PDF+源代码

    一句话评价: 这可能是市面上(包括国外出版的)你能找到最好的讲Flask的书了 下载:链接: https://pan.baidu.com/s/1ioEfLc7Hc15jFpC-DmEYBA 提取码: ...

  5. 纯 CSS 利用 label + input 实现选项卡

    clip 属性 用于剪裁绝对定位元素. .class { position:absolute; clip:rect(0px,60px,200px,0px); } scroll-behavior: sm ...

  6. Paxos算法浅析

    前言在文章2PC/3PC到底是啥中介绍了2PC这种一致性协议,从文中了解到2PC更多的被用在了状态一致性上(分布式事务),在数据一致性中很少被使用:而Paxos正是在数据一致性中被广泛使用,在过去十年 ...

  7. Spark内存管理

    本文基于Spark 1.6.0之后的版本 Spark 1.6.0引入了对堆外内存的管理并对内存管理模型进行了改进,SPARK-11389. 从物理上,分为堆内内存和堆外内存:从逻辑上分为executi ...

  8. Shiro安全框架学习笔记

    一.Shiro框架简单介绍 Apache Shiro是Java的一个安全框架,旨在简化身份验证和授权.Shiro在JavaSE和JavaEE项目中都可以使用.它主要用来处理身份认证,授权,企业会话管理 ...

  9. effective c++ 笔记 (26-29)

    //---------------------------15/04/09---------------------------- //#26   尽可能延后变量定义式的出现时间 { /*  1:只要 ...

  10. Unity5.6之前版本VRTK插件基础交互

    一.VR运行环境配置: 安装steam,在steam上安装SteamVR驱动. 在Unity项目中需要导入VRTool插件包(已上传服务器),里面包含两个插件一个是SteamVR插件,一个是VRTK插 ...