遇到一个需求,需要两台服务器的上的mysql数据库数据实时同步,包括结构也同步。
利用mysql本身的binlog确实实现了这个效果,但是因为个实际业务场景不满足,所以pass掉了,但是记录一下。

目录

  • 一、环境
  • 二、配置
    • 2.1 创建同步账号
    • 2.2 配置文件
  • 三、同步
    • 3.1 主从同步
    • 3.2 双向同步
  • 四、测试

一、环境

我这里两台数据库用的都是mysql 5.7.27,通过docker安装的。

二、配置

从我个人理解的角度就是,这两台服务器互为主从,让他们其中修改的时候另一方跟着修改。

服务器1:192.168.254.129
服务器2:192.168.254.130
同步数据库:demo

2.1 创建同步账号

为其他服务器提供同步账号

服务器1(192.168.254.129)

grant replication slave on demo.* to 'tongbu'@'192.168.254.130' identified by '123456';
FLUSH PRIVILEGES;

服务器2(192.168.254.130)

grant replication slave on demo.* to 'tongbu'@'192.168.254.129' identified by '123456';
FLUSH PRIVILEGES;

2.2 配置文件

修改mysql的配置文件,在[mysqld]下添加对应的内容:

server-id:保持唯一性
binlog-do-db:记录监听的数据
replicate-do-db:接收同步的数据库


注意:修改完配置文件后,需要重启mysql

服务器1(192.168.254.129)

[mysqld]log-bin=mysql-bin
binlog_format=mixed
server-id = 1
binlog-do-db = demo
replicate-do-db = demo
log-slave-updates

服务器2(192.168.254.130)

[mysqld]log-bin=mysql-bin
binlog_format=mixed
server-id = 2
binlog-do-db = demo
replicate-do-db = demo
log-slave-updates

三、同步

3.1 主从同步

让服务器2实时同步服务器1的数据库

在服务器1(192.168.254.129)上查看master状态

show master status;


在服务器2(192.168.254.130)执行以下命令,根据上面查看信息修改参数

change master to master_host='192.168.254.129',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000004',master_log_pos=626;
start slave;

3.2 双向同步

重复上面的操作
在服务器2(192.168.254.130)上查看master状态

show master status;

在服务器1(192.168.254.129)执行以下命令,根据上面查看信息修改参数

change master to master_host='192.168.254.130',master_user='tongbu',master_password='123456',master_log_file='mysql-bin.000001',master_log_pos=362;
start slave;

四、测试

在服务器1(192.168.254.129)的demo库里创建t_user表

CREATE TABLE t_user (
id varchar(5) not null PRIMARY KEY,
name varchar(45) not null,
password varchar(45) not null)

查看服务器2(192.168.254.1130)的demo库,也创建了t_user表

Mysql——双机同步相关推荐

  1. mysql双击同步_求助,WINDOWS下MYSQL双机同步的问题

    展开全部 1.1 环境搭建 准备两台Windows NT 主机,分别安装好iKEY Server windows 版本,确定版本无误,确保e5a48de588b662616964757a6869646 ...

  2. MySql数据同步(双机热备)已正式应用上平台

    经过一个多月的测试MYSQL的双机同步数据还是很不错的. 在家庭ADSL的4M的带宽下,有10个人在应用此网络,MYSQL数据同步还是照样正常,我想在正常的平台环境肯定更即时,效率更高! 但同时需要注 ...

  3. mysql双机部署_双机部署Mysql主从同步

    提前准备两台机器(200M+内存),假定为A.B  ●要求:在A,B上分别安装部署mysql双实例,端口为3306,3307.  ●要求:       完成3306端口A--->B的mysql主 ...

  4. mysql双机热备的实现

    转:http://blog.csdn.net/qq394829044/article/details/53203645 Mysql数据库没有增量备份的机制,当数据量太大的时候备份是一个很大的问题.还好 ...

  5. MySQL主从同步问题集

    http://blog.chinaunix.net/uid-8786588-id-3771613.html 在InnoDB引擎下发现,Mysql的主从热备存在数据不一致的问题,一些数据没有成功同步到备 ...

  6. MySQL双机热备部署

    卸载系统自带的版本. 这里以MySQL-5.5.28-1为版本 为了简单,RPM方式安装: rpm -ivh MySQL-server-5.5.28-1.linux2.6.x86_64.rpm rpm ...

  7. mysql双机数据热备份_mysql 双机交互热备份

    最近做mysql 双机交互热备份实验,遇到不小细节问题,在这里分享给大家 #Master IP: 192.168.0.208 #Slave  IP: 192.168.0.108 #synchroniz ...

  8. 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践

    学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 原文 学一点 mysql 双机异地热备份----快速理解mysql主从,主主备份原理及实践 感谢大家在上一篇 学一 ...

  9. mySQL双机冗余_MySQL双机热备实现原理

    双机热备是应用于服务器的一种解决方案,其构造思想是主机和从机通过TCP/IP网络连接,正常情况下主机处于工作状态,从机处于监视状态,一旦从机发现主机异常,从机将会在很短的时间之内代替主机,完全实现主机 ...

最新文章

  1. 真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得
  2. ajax mysql项目 react_Github MIT开源银行电子支付系统(ReactJS+Nodejs+Mysql)
  3. Flutter 系列文章:Flutter Icon 控件介绍
  4. 前端学习(679):switch语句
  5. Python面试题总结(6)--数据类型(综合)
  6. python 学习2 /输入/ 输出 /列表 /字典
  7. 黑旋风简约引导页源码-个人官网必备
  8. python爬取学籍_仝卓学籍造假微博道歉,用Python抓取微博的评论看看群众都说什么...
  9. 数据分析数据可视化(四)
  10. 杭州29岁IT男凌晨突发脑出血!老父亲面对医生急的差点跪下
  11. java怎么播放视频_java 播放视频
  12. windows 本地搭建git仓库_windows局域网搭建本地git代码版本管理仓库
  13. 微信小程序demo测试实践
  14. linux vi/vim 的命令
  15. ENC5 H264/5 4K高清编码器使用说明书
  16. 必修的十堂电影课(男人篇)
  17. ubuntu下配置虚拟内存
  18. 内存卡损坏怎么修复?分享实际经验
  19. armbian 斐讯n1_树莓派/斐讯N1/ARMBIAN/安装HOME ASSISTANT
  20. AI自己写代码让智能体进化!OpenAI的大模型有“人类思想”那味了

热门文章

  1. 利用注册表修改文件关联
  2. 基于Python实现的决策树模型
  3. 美团2018测开编程题——改卷子魔法表
  4. 为Java开疆拓土的ZGC深度剖析
  5. 各种语言随机数的产生方法
  6. TI公司TMS封装与引脚对应关系
  7. CPU使用率达到100%
  8. 今生,让我们记住盖茨!
  9. Android SurfaceView预览变形完美解决方法
  10. 自由空气间隙,爬电距离计算~~最便宜的ESD防护方法