实现MySQL双向备份的详细方法
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,下面这篇文章是关于实现MySQL双向备份的详细方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完实现MySQL双向备份的详细方法你一定会有所受益。MySQL 双向备份也被
千家信息网最后更新 2025年01月22日实现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安全错误
数据库的锁怎样保障安全
安卓广告机软件开发
软件开发费用比较
怎样查看数据库操作版本
服务器备份与恢复管理规范
北卡网络安全解决方案
网络技术社团活动方案
服务器管理工具教程
软件开发培训工作
网络安全法规专门立法
下载视频提示连接服务器视频
关于网络安全诗歌
湖南网络安全实训基地
网络技术最新的研究方向
数据库的数字前两位
软件开发需求变更申请流程
软件开发用服务器cpu
五年级家庭安全和网络安全
满帮网络安全审查要多长时间
宁夏gps时钟同步数显钟服务器
综合软件开发实践简易报告
深度网络技术公司
软件开发公司泰安招聘
网络安全意识的重要性儿童
软件开发应用最广泛的模型
网络安全等级保护顶级指南
软件开发哲学
兰德纵横网络技术股份有限公
飞速软件开发共性平台软件
招聘软件开发团队
专业汽车软件开发