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. PyQt(Python+Qt)学习随笔:QScrollBar以及QAbstractSlider滚动条部件功能详解

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一.概述 在Designer输入部件中Horizo ...

  2. crawlergo动态爬虫去除Spidername使用

    本来是想用AWVS的爬虫来联动Xray的,但是需要主机安装AWVS,再进行规则联动,只是使用其中的目标爬虫功能感觉就太重了,在github上面找到了由360 0Kee-Team团队从360天相中分离出 ...

  3. DokcerFile的添加及如何生成一个自定义镜像mycentos(四)

    最近在学习Docker,用commit去生成一个镜像,但是生成后的镜像非常臃肿,所以去学习了一下DockerFile. 前提条件: 已在虚拟机中成功安装Docker 简单的理解可以如下图所示: Doc ...

  4. 百度前端技术学院-基础-day3

    2020.9.15 第三天的课程内容,复习了一些CSS的基础属性(果然不用就会忘). 学习了一些新的属性,比如text-shadow.text-indent(还不是很清楚).font-style等等. ...

  5. 算法——移掉K位数字使得数值最小

    给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小. leetcode 解题思路:如果这个数的各个位是递增的,那么直接从最后面开始移除一定就是最最小的:如果这个数的 ...

  6. 5+App 相关记录

    一.页面跳转到app 1.应用的manifest.json文件,plus --> distribute --> google 节点下,增加属性 schemes 2.打包后,在手机里安装. ...

  7. Javascript的解码/编码api

    1.fromCharCode() 接受一个指定的 Unicode 值,然后返回一个字符串. 语法:String.fromCharCode(numX,numX,...,numX) 详细了解:http:/ ...

  8. ADF 第五篇:转换数据

    映射数据流(Mapping Data Flow)的核心功能是转换数据,数据流的结构分为Source.转换和Sink(也就是Destination),这种结构非常类似于SSIS的数据流. 在数据流中,数 ...

  9. react第九单元(propTypes验证)

    第九单元(propTypes验证) #课程目标 理解类型验证的必要性 灵活掌握类型验证的使用 #知识点 在给react组件传属性的的时候,我们可以定义属性的类型,此时我们需要下载prop-types这 ...

  10. Vue3 使用 svg-sprite-loader 实现 svg 图标按需加载

    前面文章有讲到 svg 图标按需加载的优势以及 Vue 如何使用 vue-svg-icon 实现 svg 图标按需载入: https://www.cnblogs.com/Leophen/p/13201 ...