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. vb用createprocess启动其他应用程序

    Option Explicit Private Type PROCESS_INFORMATION hProcess As Long hThread As Long dwProcessId As Lon ...

  2. 2017-2018 Exp7 网络欺诈技术防范 20155214

    目录 Exp7 网络欺诈技术防范 实验内容 信息收集 知识点 Exp7 网络欺诈技术防范 实验内容 实验环境 主机 Kali 靶机 Windows 10 实验工具 平台 Metaploit 信息收集 ...

  3. 20155321 《网络攻防》 Exp7 网络欺诈防范

    20155321 <网络攻防> Exp7 网络欺诈防范 实验内容 简单应用SET工具建立冒名网站 因为钓鱼网站是在本机的http服务下使用,因此需要将SET工具的访问端口改为http默认的 ...

  4. Android开发——Android进程保活招式大全

    )前台进程(Foreground process),即用户当前操作所必需的进程,通常数量不多.举例如下: //拥有用户正在交互的 Activity(已调用 onResume()) //拥有某个 Ser ...

  5. POJ 1860&&3259&&1062&&2253&&1125&&2240

    六道烦人的最短路(然而都是水题) 我也不准备翻译题目了(笑) 一些是最短路的变形(比如最长路,最短路中的最长边,判环),还有一些就是裸题了. 1860:找环,只需要把SPFA的松弛条件改一下即可,这里 ...

  6. Node总结 模块机制

    1. Node中的模块分为两类.一个是node提供的模块,称为核心模块,如http, fs, path:另一类是用户编写的模块,称为文件模块. 2. require()方法接收一个标识符进行模块查找. ...

  7. 数据库历险记(二) | Redis 和 Mecached 到底哪个好?

    文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3npq6ecr.bkt.clouddn.com/ ...

  8. unity2D限制位置的背景移动补偿效果

    有时候我们想要背景可以跟随相机移动补偿,但是又不想该背景物体离原来的位置太远,比如我们想要一棵树在一个房子的后面,然后使用相机补偿使其跟随移动,达到3D错觉效果,但是我们又不想该物体偏离房屋太远.假设 ...

  9. spring boot 2.0 源码分析(五)

    在上一篇文章中我们详细分析了spring boot是如何准备上下文环境的,今天我们来看一下run函数剩余的内容.还是先把run函数贴出来: /** * Run the Spring applicati ...

  10. PHPMyWind5.4存储XSS后续getshell提权

    0x0 前言 通过留言处的xss,我们可以得到管理员的cookie,进而登陆后台: https://www.cnblogs.com/Rain99-/p/10701769.html 现在要从后台入手,进 ...