实现MySQL双向备份的详细方法
发表于:2025-11-11 作者:千家信息网编辑
千家信息网最后更新 2025年11月11日,下面这篇文章是关于实现MySQL双向备份的详细方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完实现MySQL双向备份的详细方法你一定会有所受益。MySQL 双向备份也被
千家信息网最后更新 2025年11月11日实现MySQL双向备份的详细方法
下面这篇文章是关于实现MySQL双向备份的详细方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完实现MySQL双向备份的详细方法你一定会有所受益。
MySQL 双向备份也被称为 主主备份 ,即两个 MySQL 服务都是 Master,其中任意一个服务又是另一个服务的 Slave。
准备
服务器
| MySQL服务器 | 版本 | IP地址 |
|---|---|---|
| masterA | 5.6.41 | 192.168.1.201 |
| masterB | 5.6.41 | 192.168.1.202 |
注:
备份的 MySQL 服务器版本尽量保持一致,不同的版本可能二进制日志格式不兼容。
具体操作
注意
操作过程中注意两边数据的一致!!!
masterA 配置
my.cnf
[mysqld]# 服务器唯一标识server-id=1# 二进制日志文件名log-bin=mysql-bin# 需要备份的数据库,多个数据库用 , 分隔binlog-do-db=piumnl# 需要复制的数据库,多个数据库用 , 分隔replicate-do-db=piumnl# 中继日志文件名relay_log=mysqld-relay-bin# 手动启动同步服务,避免突然宕机导致的数据日志不同步skip-slave-start=ON# 互为主从需要加入这一行log-slave-updates=ON# 禁用符号链接,防止安全风险,可不加symbolic-links=0# 可不加# resolve - [Warning] Slave SQL: If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0master-info-repository=tablerelay-log-info-repository=tablerelay-log-recovery=1# 可不加# 禁用 dns 解析,会使授权时使用的域名无效skip-host-cacheskip-name-resolvesql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
masterB 配置
my.cnf
# 不再解释各个配置项[mysqld]server-id=2log-bin=mysql-binbinlog-do-db=piumnlreplicate-do-db=piumnlrelay_log=mysql-relay-binskip-slave-start=ONlog-slave-updates=ONsymbolic-links=0# resolve - [Warning] Slave SQL: If a crash happens this configuration does not guarantee that the relay log info will be consistent, Error_code: 0master-info-repository=tablerelay-log-info-repository=tablerelay-log-recovery=1skip-host-cacheskip-name-resolvesql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
创建备份用户
masterA & masterB 都要创建备份用户:
create user 'rep'@'%' identified by 'rep'; # 创建一个账户grant replication slave on *.* to 'rep'@'%'; # 授予该账户对任意数据库任意表的主从备份权限
备注:
- Linux 下 MySQL 对
root@%用户关闭了grant_priv权限,所以如果是远程登录会出现授权失败的情况 - 此处备份用户帐号和密码可不一致,此处为了简化操作使用一样的帐号和密码
重启服务器
重启服务器
开启备份
masterA
查看 masterB 状态
show master status\G;# 此处需要关注 File 和 Position 值
开启备份
stop slave;# master_log_file 就是第一步操作的 File 值# master_log_pos 就是第一步操作的 Position 值change master to master_host=, master_user= , master_port= , master_password= , master_log_file='mysql-log.000003', master_log_pos=154;start slave;
查看结果
show slave status\G;# 查看最重要的两项,两个都必须为 Yes ,有一个为 No 都要去查看错误日志文件,看看什么地方存在问题# Slave_IO_Running: Yes# Slave_SQL_Running: Yes
masterB
反向重复 masterA 的操作
测试
分别在 masterA 和 masterB 中插入数据,并查看另一台服务器是否及时出现预期的数据
问题
MySQL Slave Failed to Open the Relay Log
这应该是中继日志出现问题,可尝试如下操作
stop slave;flush logs;start slave;
Got fatal error 1236 from master when reading data from binary log
从主库中拉取日志时,发现主库的 mysql_bin.index 文件中的第一个文件不存在。
# 进行如下操作重置# 如果二进制日志或中继日志有其他作用,请勿进行如下操作reset master;reset slave;flush logs;
对于以上实现MySQL双向备份的详细方法的内容,大家还有什么不明白的地方吗?或者想要了解更多相关,可以继续关注我们的行业资讯板块。
备份
服务
数据
日志
服务器
数据库
文件
双向
可不
用户
方法
一致
二进制
版本
问题
中继
配置
两个
主从
地方
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
成都东谷软件开发有限公司
长沙麓谷计算机软件开发
IOS软件开发程序员招聘
我的世界服务器末影龙可以打几次
机动车网络安全管理规章制度
富国全球科技互联网怎么样
备份数据库软件
中药相关数据库设计
服务器专线
河南企业数据库
本站服务器架设于美国18
乐信互联网科技股份有限公司
刘宪军数据库
机关加强网络安全管理
安徽态势推演系统软件开发
魔兽服务器维护游戏会回档吗
数据库端口配置
供应垃圾分类软件开发
身份证数据库设置
七日杀服务器搭建
邯郸软件开发工作
网络安全工作人员具体职责
局域网怎么外网访问服务器
软件开发去北京还是在老家
潜江专业的软件开发价格
服务器拨掉电源线有什么影响
有关于网络安全的政策
怎么寻找数据库
数据库高并发的解决方案
数据库查看实例名的命令