MySQL 数据同步 主主设置(互为主备)
两台MySQL主机做为服务器:
master-1:192.168.1.99
master-2:192.168.1.113
一、创建并授权用户
这一步在每一台(主)服务器上创建一个用户,并为之授权,使它们可以互相访问彼此的数据库
在master-1上:
创建一个充许master-2来访问的用户repl,密码为:repl
mysql> GRANT ALL PRIVILEGES ON *.* TO ' repl,'@'192.168.1.113' IDENTIFIED BY ' repl ';
在master-2上:
创建一个充许master-1来访问的用户repl,密码为:repl,
mysql> GRANT ALL PRIVILEGES ON *.* TO ' repl,'@'192.168.1.99' IDENTIFIED BY ' repl ';
备注:为了操作方便,我们在两台服务器上,指定的访问权限时,设定的用户名和密码,一摸一样
二、修改主配置文件
在MySQL的主配置文件中修改/添加如下内容:
master-1上:
[mysqld]
server-id = 1
log-bin = mysql-bin
replicate-do-db = test  #指定复制操作的数据库
auto-increment-increment = 2
auto-increment-offset = 1
# service mysqld restart
master-2
[mysqld]
server-id = 2
log-bin = mysql-bin
replicate-do-db = test  #指定复制操作的数据库
auto-increment-increment = 2
auto-increment-offset = 2
# service mysqld restart
注:二都只有server-id不同和 auto-increment- offset不同
auto-increment-offset是用来设定数据库中自动增长的起点的,回为这两能服务器都设定了一次自动增长值2,所以它们的起点必须得不同,这样才能避免两台服务器数据同步时出现主键冲突
replicate-do-db 指定同步的数据库,我们只在两台服务器间同步test数据库
另:auto-increment-increment的值应设为整个结构中服务器的总数,本案例用到两台服务器,所以值设为2
三、获取两台服务器的二进制日志名和偏移量
在master-1上:
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000006 |      107 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set
在master-2上:
mysql> show master status;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000008 |      107 |              |                  |
+------------------+----------+--------------+------------------+
1 row in set
四、两台服务器互相做相应设置
在master-1上:
mysql>stop slave;
mysql>
CHANGE MASTER TO
MASTER_HOST='192.168.1.113',
MASTER_USER='repl',
MASTER_PASSWORD='repl',
MASTER_LOG_FILE='mysql-bin.000008',
MASTER_LOG_POS=107;
在master-2上:
mysql>stop slave;
mysql>
CHANGE MASTER TO
MASTER_HOST='192.168.1.99',
MASTER_USER='repl',
MASTER_PASSWORD='repl',
MASTER_LOG_FILE='mysql-bin.000006',
MASTER_LOG_POS=107;
五、启动slave线程
在两台主机上分别执行
mysql> START SLAVE;
六、查看slave状态
mysql> show slave status;
+----------------------------------------------
| Slave_IO_State    
| Waiting for master to send event
+----------------------------------------------
显示上述信息的时候,说明配置得很好,两台服务器,正在互相等待操作。
配置到此完成!
接下来,可以在两台服务器上,随意操作test数据库。就能看到明显的效果。
备注:这里我们默认两台服务器,test中的初始数据是相同的。不同的话,则要先从一台机子备份、拷贝

转载于:https://blog.51cto.com/developers/852550

主从数据库之互为主备相关推荐

  1. mysql master master_MySQL主从架构之Master-Master互为主备

    Master-Master互为主备 1:按照主从配置步骤将MasterB配置成MasterA的从库: 2:确保MasterB没有写入,通过show master status命令在MasterB上得到 ...

  2. mysql主备数据库配置文档_MySQL数据库配置主从服务器实现双机热备实例教程

    网站:bbs.osyunwei.com 程序在:Web服务器192.168.21.129上面 数据库在:MySQL服务器192.168.21.169上面 实现目的:增加一台MySQL备份服务器(192 ...

  3. mysql 互为主备 宕机 数据丢失_Devops部署-mysql主备多从搭建

    ​双主多从架构原理介绍 IP 端口 账号 密码 服务名 10.1.1.2 3306 root/sync abc123! 数据库A 10.1.1.3 3306 root/sync abc123! 数据库 ...

  4. mysql主备删除备数据,mysql 互为主备 宕机 数据丢失_Devops部署-mysql主备多从搭建...

    ​双主多从架构原理介绍 IP端口账号密码服务名 10.1.1.23306root/syncabc123!数据库A 10.1.1.33306root/syncabc123!数据库B 10.1.1.433 ...

  5. SQL Server主从数据库同步方式及同步问题解决方案总结

    SQL Server主从数据库同步方式及同步问题解决方案总结 参考文章: (1)SQL Server主从数据库同步方式及同步问题解决方案总结 (2)https://www.cnblogs.com/zh ...

  6. windows mysql 主从_mysql读写分离实战二-windows 上mysql主从数据库搭建及问题总结

    根据前篇web项目的搭建后,需要搭建主从数据库,这里在windows服务器上搭建了主从结构的mysql,这里在记录下在本机模拟搭建过程 在windows上安装和linux还是有些不同,不注意就会耽误不 ...

  7. php mysql主从延迟_如何解决主从数据库同步延迟问题?php连接 mysql 数据库如何添加一个公共的配置文件50...

    在上一篇文章中,小编为您详细介绍了关于<图上属标注的什么样元器件?火车购票明明显示无座为什么样乘车后却发现有很多空座>相关知识.本篇中小编将再为您讲解标题如何解决主从数据库同步延迟问题?p ...

  8. 【MySQL系列】单机热备(主从结构)和双机热备介绍和使用

    Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好mysql数据库提供了一种主从备份的机制,其实就是把主数据库的所有的数据同时写到备份的数据库中.实现mysql数据库的热 ...

  9. Oracle数据库DG实现主从数据库同步

    Oracle数据库DG实现主从数据库同步 概述 前提:本文档基于已经创建了oracle数据库,两台服务器网络可以互相访问, 主库 备库 OS系统 Centos 7.5 x64 Centos 7.5 x ...

最新文章

  1. memcached+keepalived+magent高群集
  2. Linux errno 列表
  3. 用指针完成函数参数的调用
  4. 【开发者成长】5 分钟搞定 Linux 正则表达式
  5. 教你手工检测SQL注入
  6. smarty模板基础知识
  7. Idea搭建一个JavaWeb项目(一)
  8. Drools只执行一个规则或者执行完当前规则之后不再执行其他规则(转)
  9. redis远程连接超时
  10. oracle undo seg,正确切换undo
  11. 蓝桥杯 ADV-77 算法提高 统计平均成绩
  12. python矢量图_使用python制作矢量图
  13. 天翼网关最新超级密码2020_5G 下体验阿里云盘后,我决定继续用天翼和度盘
  14. mt950报文解析_MT格式信用证报文
  15. 医疗检测产品设计规范有哪些?
  16. 最近看到需要去学习的点(持续记录)
  17. shell脚本中等待上一条命令执行结束在执行下一条。
  18. 万人千题第一阶段报告【待继续总结】
  19. 漫谈程序员(十五)——应届毕业生上海市落户政策解读
  20. Nexus概述- Nexus 简介、安装管理操作

热门文章

  1. Glide源码(基于4.8版本)解析
  2. Uber将动态调价机制引入其外卖服务UberEats
  3. 安装证书服务:为Web站点启用HTTPS
  4. centos 安装extmail
  5. 漫谈ERP实施服务的三种境界
  6. Tencent云联网灾备方案
  7. 大数据量下的集合过滤—Bloom Filter
  8. Spring @Scheduled
  9. vue.js $refs和$emit 父子组件交互
  10. scala dynamics 示例