1. 整体思路

MySQL开始复制是很简单的过程,不过,根据特定的应用场景,都会在基本的步骤上有一些变化。最简单的场景就是一个新安装的master和slave,整个过程如下:
(1)在每个服务器上创建一个复制帐号;
(2)配置master和slave;
(3)Slave连接master开始复制。

2. 具体做法

  A服务器IP : 10.1.1.104

  B服务器IP : 10.1.1.119

  2.1 在A服务器上

    1. 创建复制帐号

      每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE权限。用户名的密码都会存储在文本文件master.info中,eg:
      mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO backup@'%' IDENTIFIED BY '123456';

    2. 配置master (10.1.1.104)
      找到 my.ini, 在 [mysqld] 添加如下代码:

 1 #replication setting
2 server-id=104
3 log-bin=mysql-bin
4 #master setting
5 binlog-do-db=test_replication
6 auto_increment_offset=1
7 auto_increment_increment=2
8 #slave setting
9 relay-log=relay-bin
10 replicate-do-db=test_replication
11 #表示slave将复制事件写进自己的二进制日志
12 log-slave-updates=on

      重启master,运行SHOW MASTER STATUS,输出如下:

      

  2.2 在B服务器上
      找到 my.ini, 在 [mysqld] 添加如下代码: 

 1 #replication setting
2 server-id=199
3 log-bin=mysql-bin
4 #master setting
5 binlog-do-db=test_replication
6 auto_increment_offset=2
7 auto_increment_increment=2
8 #slave setting
9 relay-log=relay-bin
10 replicate-do-db=test_replication
11 log-slave-updates=on

    4、启动slave

1 mysql> CHANGE MASTER TO MASTER_HOST='10.1.1.104',
2 -> MASTER_USER='backup',
3 -> MASTER_PASSWORD='123456',
4 -> MASTER_LOG_FILE='mysql-bin.000004', #上面的File字段
5 -> MASTER_LOG_POS=700; #上面的Position字段

    运行

mysql> START SLAVE;

    查看运行状态

mysql> SHOW SLAVE STATUS

以上步骤若成功的话,已配置完 A 到 B 的主从复制,即 A 服务器对应数据库的修改 , B服务器对应数据库也作相应修改。


以下配置是 B 到 A 的主从复制

3. 具体做法

  3.1 在B服务器上

    1. 创建复制帐号

      每个slave使用标准的MySQL用户名和密码连接master。进行复制操作的用户会授予REPLICATION SLAVE权限。用户名的密码都会存储在文本文件master.info中,eg:
      mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO backup@'%' IDENTIFIED BY '123456';

    2. 配置: 因为上面的配置已经做好,这里只需要记录B服务器上的 File 及 Position,即运行 SHOW MASTER STATUS 命令

  3.2 在A服务器上

    1. 启动slave   

mysql> CHANGE MASTER TO MASTER_HOST='10.1.1.104',
-> MASTER_USER='backup',
-> MASTER_PASSWORD='123456',
-> MASTER_LOG_FILE='mysql-bin.000004', #上面的File字段
-> MASTER_LOG_POS=700; #上面的Position字段

    运行

mysql> START SLAVE;

    查看运行状态

mysql> SHOW SLAVE STATUS

以上步骤若成功的话,已配置完 B 到 A 的主从复制,即 B 服务器对应数据库的修改 , A服务器对应数据库也作相应修改。

    

mysql 双主复制 windows10的更多相关文章

  1. 分布式数据存储 - MySQL双主复制

    上篇文章<分布式数据存储 - MySQL主从复制>,我们说到MySQL主从复制很好的保障了从库,读的高可用性.so,问题来了: 1.针对主库,写的高可用性又是如何做到高可用性? 2.如果需 ...

  2. keepalived+mysql双主复制高可用方案

    MySQL双主复制,即互为Master-Slave(只有一个Master提供写操作),可以实现数据库服务器的热备,但是一个Master宕机后不能实现动态切换.而Keepalived通过虚拟IP,实现了 ...

  3. MySQL双主复制

    原文发表于cu:2017-06-12 本文简单介绍MySQL双主复制原理及1个简单是双主复制验证. 一.MySQL双主复制原理 1. 双主复制原理 master-master复制的两台服务器,既是ma ...

  4. mysql双主复制总结

    双主复制: 1).在两台服务器上各自建立一个具有复制权限的用户: 2).修改配置文件: # 主服务器A上 [mysqld] server-id = 10 log-bin = mysql-bin rel ...

  5. linux环境下配置mysql双主复制

    简单来说,双主复制就是让两台mysql服务器中的数据保持同步,可以用来实现灾备和负载均衡 主机1 IP:192.168.200.128 主机2 IP:192.168.200.131 两台主机系统均为c ...

  6. mysql 双主复制 centos7

    mysql 安装请看:http://www.cnblogs.com/leohe/p/6839705.html 双主复制设置 1. 两台虚拟机,都是 centos7 主: 10.1.1.115 从: 1 ...

  7. 利用LVS+Keepalived搭建Mysql双主复制高可用负载均衡环境

    应用背景: MySQL复制(主主,主从...)能在保证数据的备份的同时也能够做读写分离分摊系统压力,但是发生单点故障时,需要手动 切换到另外一台主机.LVS和Keppalived可以设定一个VIP来实 ...

  8. keeplived + mysql双主复制部署 --原创

    环境: master 1: 192.168.100.10  oracle  linux 7.4  mysql 5.7.1 master 2: 192.168.100.11 oracle  linux ...

  9. 003.Heartbeat MySQL双主复制

    一 基础环境 节点 系统版本 MySQL版本 业务IP 心跳IP Master01 CentOS 7.5 MySQL 5.6 192.168.88.100 192.168.77.100 Master0 ...

随机推荐

  1. 关于javaSMTP协议发邮件你必须知道的知识点

    1.阅读官方吐槽 Note also that THERE IS NOT SUFFICIENT DOCUMENTATION HERE TO USE THESE FEATURES!!! You will ...

  2. 快速理解Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容的区别

    <Python中使用百分号占位符的字符串格式化方法中%s和%r的输出内容有何不同?>老猿介绍了二者的区别,为了快速理解,老猿在此使用另外一种方式补充说明一下: 1.使用%r是调用objec ...

  3. PyQt(Python+Qt)学习随笔:工具箱(QToolBox)编程使用的步骤及示例代码

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 使用toolBox开发应用时,通过Designer设计ui界面时,只能在Designer中设计too ...

  4. Monkey的使用

    1.进入adb shell 环境 在Windows环境下进入DOS界面,输入adb shell 注意:adb shell服务使用的端口是5037,如果此端口被其他进程占用时,将不能正常启动adb sh ...

  5. C++异常之二 基本语法

    2. 异常处理的基本语法 下面是一个基本的代码例子,说明 throw.try.catch的基本用法,与 catch 的类型自动匹配: 1 #include <iostream> 2 #in ...

  6. Linux安装Mysql8.0.11

    0.  安装环境 1.  下载安装包 方式一:百度网盘下载 链接:https://pan.baidu.com/s/11t_JXUp-SXRaioNDvdltNg 提取码:uzyj 方式二:在线下载 1 ...

  7. python+selenium笔记(一):元素定位方法

    一.环境准备: 1.浏览器选择:Firefox 2.安装插件:Firebug和FirePath(设置>附加组件>搜索:输入插件名称>下载安装后重启浏览器) 3.安装完成后,页面右上角 ...

  8. vue+axois 封装请求+拦截器(请求锁+统一错误)

     需求 封装常用请求 拦截器-请求锁 统一处理错误码 一.封装常用的请求 解决痛点:不要每一个模块的api都还要写get,post,patch请求方法.直接将这些常用的方法封装好. 解决方案:写一个类 ...

  9. 云原生网络代理(MOSN)的进化之路

    本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云 ...

  10. ubuntu 16.04 编译安装 python3.9

    下载 python包 wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz 解压 tar zxf Python-3.9.1.tgz ...