暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL_Cluster集群数据库误操作恢复方法.pdf
194
4页
5次
2023-01-17
免费下载
Research on data recovery methods after misoperation on MySQL Cluster database
袁晓东
*
YUAN Xiao-dong
摘 要
本文介绍了应对 MySQL Cluster 集群数据库误操作的一些预防措施和误操作后进行数据恢复的三种方
案:通过解析二进制日志生成逆向操作脚本进行恢复、通过全库备份及二进制日志进行恢复、通过延迟
备库及二进制日志进行恢复,并给出这三种方案的适用场景。
关键词
数据库;MySQL Cluster;误操作;数据恢复
Abstract
This paper introduces some preventive actions for misoperation of MySQL Cluster database and three data recovery methods
after misoperation, including recovery with generated reverse operation script by parsing binlog files, with full database backup and binlog files,
with delayed standby database and binlog files. It also describes the applicable scenarios for these three recovery methods.
Key words
Database; MySQL Cluster; misoperation; data recovery
* 南京云白信息科技有限公司 江苏南京 210008
1 概述
MySQL 数据库技术日渐成熟,近来已成为最受欢迎的数
据库系统
[1]
,其推出的 MySQL Cluster 集群数据库采用无共
享架构,可在线进行写扩展,达到 99.999% 的高可用性
[2]
并将数据存放于内存,实现极高的性能,可满足实时数据
库的应用需求。MySQL Cluster 经过十多年的发展,在国内
外已有众多应用案例。我们自 2014 年起在国内进行 MySQL
Cluster 数据库的大型生产系统应用实践,积累了丰富的运
维、优化经验。
在数据库系统运维工作中,如何应对人为误操作导致数
据丢失或更改非常令人头疼,一旦不能恢复数据将导致严重
后果。本文结合长期数据库运维实践经验,对 MySQL Clus-
ter 集群数据库上误操作后如何及时有效地进行数据恢复进
对于卫生健康领域,区块链技术带来便利性的同时也意味着
风险性。一方面,需紧跟国际技术潮流与国家政策要求,积
极探索卫生健康领域对于区块链的应用场景,另一方面高度
警惕数据泄露风险,进一步加强日常防范。未来将深入研究
区块链技术在卫生健康领域的全方位应用,将管理者、医院、
患者、药品供应商、医保机构、商业保险公司等多领域数据
进行融合,提升数据共享效率,并进一步深入探索数据隐私
保护机制,并探寻合理有效的访问控制模型,使区块链计算
真正能够为卫生健康领域信息化的发展注入力量。
参考文献:
[1] MCKINSEY COMPANY.Blockchain in insurance:opportu-
nity or treat? [EB/OL]. [2017-12-20]. http://www.mckinsey.com/
industries/finical-services/our-insights/ blockchain –in -insur-
ance-opportunity-or-treat.
[2] NAKAMOTOS.Bitcoin:a peer-to-peer electronic cash system
[EB/OL]. [2017-12-29]. https: //bitcoin.org/bitcoin.pdf.
[3] Blockchain Technology Use Casesin Healthcare-2018Peng
Zhang, Douglas C. Schmidt, and Jules White Vanderbilt Univer-
sity, Nashville, TN Gunther Lenz Varian Medical Systems, Palo
Alto, CA.
[4] , , 张岩峰 , . 区块链技术与应用前瞻综述 [J].
计算机科学 ,2017,44(4):1-7,15.
[5] , 戴阿咪 , 王士泉 , . 区块链技术在卫生健康领域
的应用及发展 [J]. 中华医学图书情报杂志 ,2018, 27(2):70-74.
行了深入研究,针对不同场景分别给出了数据恢复方案。本
文第 2 节界定了研究范围,给出常见人为误操作的具体场景
3 节给出应该事先采取的预防措施和准备工作;第 4 节提
供了三种数据恢复方案,供不同的误操作场景选择使用;最
后进行了总结。
2 误操作场景
本文针对以下 MySQL Cluster 集群维护工作中常见的人
为误操作场景进行研究,并提供应对措施及数据恢复方案:
1)误操作发生在主集群节点上。如果误操作发生在
从集群节点上,那么由于主集群的数据是正确的,简单地重
建从集群即可恢复正常。
2)误操作仅发生在某一张表上。发生误操作大多数
是人为操作引起的,生产环境发生误操作后马上再次发生误
操作的可能性很低。
(3) DML DDL 作,DML IN-
SERT、UPDATE、DELETE、TRUNCATE 等,DDL CREATE、
DROP、ALTER、RENAME 等。
3 预防措施
为了能对上节中的误操作场景出进行回退和数据恢复,
必须事先进行以下准备和预防措施:
(1)MySQL 数据库要定期进行一致性的全库备份。
(2)MySQL my.cnf binlog_format
设置为 ROW,并且让 binlog 日志文件保存足够长的时间,保
证自从全库备份及误操作之后一直有完整的 binlog 日志文
件。
(3) binlog-rollback.pl 境,
于对普通增删改 DML 操作 DELELTE、INSERT、UPDATE 的回退。
为了更快更方便地进行误操作的恢复,在条件允许时,
还应采取以下预防措施:
1)增加一台数据库服务器配置主从延迟复制,配置
CHANGE MASTER TO MASTER_
DELAY=<interval> 子句,单位为秒。考虑发现误操作及进
处理需要一定时间,延迟时间一般应配置在 2 小时以上。
2)如果无法增加主从延迟复制的数据库服务器,为
加快恢复速度,需事先准备好一台专门用于误操作恢复的
MySQL 器, MySQL Cluster
且不希望通过生产库进行备份恢复,则需要准备一套和生产
库架构相同的 MySQL Cluster 测试环境,测试环境机器配置
可以低于生产库的配置。
4 数据恢复方案
1 MySQL 数据库误操作数据恢复流程
一旦发生第 2 节所描述的 MySQL 数据库误操作,通过我
们研究并经实践验证,可采用以下三种不同的数据恢复方案
方案 1:通过 binlog-rollback.pl 脚本进行数据恢复。
方案 2:通过全库备份以及主库的 binlog 日志进行数据
恢复。
方案 3:通过延迟备库以及主库的 binlog 日志进行数据
恢复。
根据实际系统的情况可选择其中一种方案进行实施,具
体的选择流程如图 1 所示。
4.1 方案 1:通过脚本进行数据恢复
MySQL DELETE、UPDATE IN-
SERT 语句,由于具体误操作的语句都在 binlog 日志中有记录,
binlog-rollback.pl binlog 志,
[3]。binlog-rollback.pl
脚本的命令格式如下:
perl binlog-rollback.pl -f < binlog
件名 > -o < 生成逆操作文件名 > -u < 数据库用户名 > -p <
密码 > -P < 端口号 > -d < 数据库名 > -T < 表名 >
上述语句中各选项含义如下:
-f: 必选项,误操作发生时所在的 binlog 文件名。
-o: 必选项,生成用于数据恢复的逆操作语句文件名。
-u: 必选项,数据库用户名。
-p: 必选项,数据库用户密码。
-P: 可选项,数据库端口号,缺省为 3306。
-d: 可选项,指定待恢复的数据库名。
-T: 可选项,指定待恢复的表名。
-h: 可选项,指定数据库服务器 IP 地址。
--start-position: 可选项,binlog 文件开始位置,从
该位置开始进行数据恢复。
--stop-position: 项,binlog 置,
of 4
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜