0

0

MySQL数据库双向同步

php中文网

php中文网

发布时间:2016-06-07 17:18:10

|

1936人浏览过

|

来源于php中文网

原创

项目申请了两台数据库服务器,为了保持数据同步,就搞了个数据同步,以此文记录以备后续使用:首先声明:服务器操作系统都是Cent

项目申请了两台数据库服务器,为了保持数据同步,就搞了个数据同步,以此文记录以备后续使用:

首先声明:

服务器操作系统都是CentOS6.1、mysql版本号一致,为了减少出现其他问题的可能性,故做此环境搭配。

数据库服务器A,ip地址:192.168.6.108

数据库服务器B,ip地址:192.168.6.200

当然 首先要备份一台数据最新的数据库,然后等设置同步完毕之后都还原成相同的数据!

先做B同步A数据库的数据功能:

暂时称A为主机Master、B为从机Slave

A主机Master

1、修改mysql数据库conf文件,修改/etc/my.conf

# Replication Master Server (default)

# binary logging is required for replication

之后增加

  • server-id       = 1            #自带就有的话就不用添加 看一下my.conf上下文   
  • binlog-do-db=mydb_name #需要同步的数据库名称   
  • 2、重启mysql

    (CentOS是serice mysqld restart 其他系统的自行重启 若不知请谷歌、度娘) 

    3、创建一个MySQL帐号为同步专用

    用root用户登陆mysql

    mysql> grant replication slave,reload,super on *.* to backup@192.168.5.200 identified by 'backup';

    mysql> flush privileges;

    ps:我这里是创建了一个backup用户密码也是backup的mysql数据库用户,用于同步。@后面指定该账户允许远程登录的ip,也就是B从机的ip地址

    B从机Slave

    1、同样的修改mysql数据库conf文件,修改/etc/my.conf

    # Replication Master Server (default)

    # binary logging is required for replication

    之后增加

  • server-id       = 2             #自带就有的话就不用添加 看一下my.conf上下文   
  • master-host=192.168.5.108   #此处是需要备份的主机ip 这里填的是A主机的ip   
  • master-port=3306        #数据库端口号 没改就填默认的3306   
  • replicate-do-db=mydb_name  #需要同步的数据库名称  
  • 启动同步

    在主服务器A上,mysql命令下(root用户登陆mysq)

    mysql> show master status;

    eg:

    +一一一一一一一一一一+一一一一一一+一一一一一一一一+一一一一一一一一一一+

    | File                     | Position     | Binlog_Do_DB   | Binlog_Ignore_DB  |

    +一一一一一一一一一一+一一一一一一+一一一一一一一一+一一一一一一一一一一+

    | mysql-bin.000012  |      106    | mydb_name     | mysql                  |

    +一一一一一一一一一一+一一一一一一+一一一一一一一一+一一一一一一一一一一+

    从服务器B上,mysql命令下(同样用root用户登陆mysq)

    mysql> slave stop;

    mysql> change master to master_log_file='mysql-bin.000012',master_log_pos=106;

    mysql> slave start;

    ps:

    MVM mall 网上购物系统
    MVM mall 网上购物系统

    采用 php+mysql 数据库方式运行的强大网上商店系统,执行效率高速度快,支持多语言,模板和代码分离,轻松创建属于自己的个性化用户界面 v3.5更新: 1).进一步静态化了活动商品. 2).提供了一些重要UFT-8转换文件 3).修复了除了网银在线支付其它支付显示错误的问题. 4).修改了LOGO广告管理,增加LOGO链接后主页LOGO路径错误的问题 5).修改了公告无法发布的问题,可能是打压

    下载

         master_log_file就是在主服务器mysql下show master status;显示的File列的值

         master_log_pos就是在主服务器mysql下show master status;显示的Position列的值

    还是在从服务器B的mysql命令下

    用show slave status \G;看一下从服务器的同步情况

    mysql>show slave status \G;

    有如下两项的值都是YES就表示已经在同步

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    否则就是同步失败,当然了,失败的原因有N种,自己慢慢谷歌、度娘,这里只把我自己的操作步骤记录。

    设置MySQL双向同步

    其实设置双向同步就是把上面的步骤重复一下,只是A和B服务器的操作反过来,A变成从服务器、B变成主服务器!

    1、修改B服务器的my.conf,添加

  • binlog-do-db=mydb_name #需要同步的数据库名称   
  • 2、重启B服务器的mysql (service mysqld restart)

    3、登陆mysql,

    mysql> grant replication slave,reload,super on *.* to backup@192.168.5.108 identified by 'backup';

    mysql> flush privileges;

    ps:创建一个backup用户,密码也是backup的mysql数据库用户,用于同步。@后面指定该账户允许远程登录的ip,也就是A从机的ip地址。

    4、修改A服务器的my.cnf,添加

  • master-host=192.168.5.200   #此处是需要备份的主机ip 这里填的是A主机的ip   
  • master-port=3306        #数据库端口号 没改就填默认的3306   
  • replicate-do-db=mydb_name  #需要同步的数据库名称  
  • 5、重启A服务器的mysql(service mysqld restart)

    6、在主服务器B MySQL命令符下:

    mysql> show master status;

    eg:

    +一一一一一一一一一一+一一一一一一+一一一一一一一一+一一一一一一一一一一+

    | File                     | Position     | Binlog_Do_DB   | Binlog_Ignore_DB  |

    +一一一一一一一一一一+一一一一一一+一一一一一一一一+一一一一一一一一一一+

    |     | mydb_name     | mysql                  |

    +一一一一一一一一一一+一一一一一一+一一一一一一一一+一一一一一一一一一一+

    7、在服务器A MySQL命令符下:

    mysql> slave stop;

    mysql> change master to master_log_file='mysql-bin.000014',master_log_pos=188;

    mysql> slave start;

    8、还是在从服务器A的mysql命令下

    用show slave status \G;看一下从服务器的同步情况

    mysql>show slave status \G;

    有如下两项的值都是YES就表示已经在同步

    Slave_IO_Running: Yes

    Slave_SQL_Running: Yes

    然后还原数据至最新数据库!

    至此 双向同步配置完毕!

    ps:因为是基于操作日志备份,,所以设置同步前请把数据库先备份,然后用用一份备份还原数据库,之后数据就可以保持一致!

    linux

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法
    pixiv网页版官网登录与阅读指南_pixiv官网直达入口与在线访问方法

    本专题系统整理pixiv网页版官网入口及登录访问方式,涵盖官网登录页面直达路径、在线阅读入口及快速进入方法说明,帮助用户高效找到pixiv官方网站,实现便捷、安全的网页端浏览与账号登录体验。

    463

    2026.02.13

    微博网页版主页入口与登录指南_官方网页端快速访问方法
    微博网页版主页入口与登录指南_官方网页端快速访问方法

    本专题系统整理微博网页版官方入口及网页端登录方式,涵盖首页直达地址、账号登录流程与常见访问问题说明,帮助用户快速找到微博官网主页,实现便捷、安全的网页端登录与内容浏览体验。

    135

    2026.02.13

    Flutter跨平台开发与状态管理实战
    Flutter跨平台开发与状态管理实战

    本专题围绕Flutter框架展开,系统讲解跨平台UI构建原理与状态管理方案。内容涵盖Widget生命周期、路由管理、Provider与Bloc状态管理模式、网络请求封装及性能优化技巧。通过实战项目演示,帮助开发者构建流畅、可维护的跨平台移动应用。

    64

    2026.02.13

    TypeScript工程化开发与Vite构建优化实践
    TypeScript工程化开发与Vite构建优化实践

    本专题面向前端开发者,深入讲解 TypeScript 类型系统与大型项目结构设计方法,并结合 Vite 构建工具优化前端工程化流程。内容包括模块化设计、类型声明管理、代码分割、热更新原理以及构建性能调优。通过完整项目示例,帮助开发者提升代码可维护性与开发效率。

    20

    2026.02.13

    Redis高可用架构与分布式缓存实战
    Redis高可用架构与分布式缓存实战

    本专题围绕 Redis 在高并发系统中的应用展开,系统讲解主从复制、哨兵机制、Cluster 集群模式及数据分片原理。内容涵盖缓存穿透与雪崩解决方案、分布式锁实现、热点数据优化及持久化策略。通过真实业务场景演示,帮助开发者构建高可用、可扩展的分布式缓存系统。

    26

    2026.02.13

    c语言 数据类型
    c语言 数据类型

    本专题整合了c语言数据类型相关内容,阅读专题下面的文章了解更多详细内容。

    29

    2026.02.12

    雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法
    雨课堂网页版登录入口与使用指南_官方在线教学平台访问方法

    本专题系统整理雨课堂网页版官方入口及在线登录方式,涵盖账号登录流程、官方直连入口及平台访问方法说明,帮助师生用户快速进入雨课堂在线教学平台,实现便捷、高效的课程学习与教学管理体验。

    14

    2026.02.12

    豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法
    豆包AI网页版入口与智能创作指南_官方在线写作与图片生成使用方法

    本专题汇总豆包AI官方网页版入口及在线使用方式,涵盖智能写作工具、图片生成体验入口和官网登录方法,帮助用户快速直达豆包AI平台,高效完成文本创作与AI生图任务,实现便捷智能创作体验。

    524

    2026.02.12

    PostgreSQL性能优化与索引调优实战
    PostgreSQL性能优化与索引调优实战

    本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

    53

    2026.02.12

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    PostgreSQL 教程
    PostgreSQL 教程

    共48课时 | 9.3万人学习

    Django 教程
    Django 教程

    共28课时 | 4.3万人学习

    Excel 教程
    Excel 教程

    共162课时 | 17.8万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号