千家信息网

实现MySQL双向备份的详细方法

发表于:2024-10-13 作者:千家信息网编辑
千家信息网最后更新 2024年10月13日,下面这篇文章是关于实现MySQL双向备份的详细方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完实现MySQL双向备份的详细方法你一定会有所受益。MySQL 双向备份也被
千家信息网最后更新 2024年10月13日实现MySQL双向备份的详细方法

下面这篇文章是关于实现MySQL双向备份的详细方法,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完实现MySQL双向备份的详细方法你一定会有所受益。

MySQL 双向备份也被称为 主主备份 ,即两个 MySQL 服务都是 Master,其中任意一个服务又是另一个服务的 Slave。

准备

服务器

MySQL服务器版本IP地址
masterA5.6.41192.168.1.201
masterB5.6.41192.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'@'%';  # 授予该账户对任意数据库任意表的主从备份权限

备注:

  1. Linux 下 MySQL 对 root@% 用户关闭了 grant_priv 权限,所以如果是远程登录会出现授权失败的情况
  2. 此处备份用户帐号和密码可不一致,此处为了简化操作使用一样的帐号和密码

重启服务器

重启服务器

开启备份

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安全错误 数据库的锁怎样保障安全 能源信息与网络安全的公司 河南漫拾光互联网科技有限公司 定制软件开发要多久 万达信息成都软件开发怎么样 甘肃服务器维修调试费用 网络安全优秀绘画作品 杭州九州云网络技术有限公司 互联网 光珀智能科技 软件开发入门免费视频教程 数据库的star是什么 计算机网络技术的目标实现 机架式服务器做什么用的 mongo集群服务器改变主从 sql数据库除sum总和 青藏高原网络安全防护中心 终端软件开发技术文档 中国网络安全的发展 三级数据库技术考试时间 数据库原理王珊ppt 陕西人工智能服务器租赁云服务器 戴尔T系列服务器设置u盘启动 格力软件开发工程师怎么样 我的世界中的东方大陆服务器 0基础考网络技术三级 河南万安网络技术有限公司 网络技术的核心是 网络安全功能赔偿 新时代网络技术概念设计 软件开发资质是什么资质 戴尔t140服务器做raid1
0