遇到MySQL数据丢失的窘境?想象一下这个场景: MySQL没有备份 MySQL是单点部署 MySQL突然宕机无法启动面对业务数据恢复的压力,是不是感觉天要塌了?别急着递交辞呈! ibd2sql工具可能是您的救命稻草。这是一款能将离线ibd文件转换为SQL语句的神器,可以帮助恢复宝贵的数据。 让我们直接看看如何使用:安装wget https://github.com/ddcw/ibd2sql/archive/refs/heads/main.zipunzip main.zipcd ibd2sql-main2 几行命令就能让您重拾希望,摆脱数据丢失的噩梦。注意:此工具仅支持MySQL 8.0版本。有了ibd2sql,就多了一张保命符。下次遇到类似情况,别忘了这个强大的工具。它可能会帮您化险为夷,保住饭碗!
关于数据恢复之前已分享过2篇,链接如下: MySQL数据备份及还原(一) MySQL数据备份及还原(二) 今天分享一下binlog2sql,它是一款比较常用的数据恢复工具,可以通过它从MySQL binlog 因binlog2sql是通过模拟从库的方式获取binlog,所以,数据库账号权限至少需设置为从库所需的权限。 恢复数据 3.1 生成恢复SQL 因知道大概误删除的时间,因此通过解析对应时间的binlog恢复出指定库表的数据,生成的结果是用于恢复的sql python binlog2sql.py --flashback 3.2 恢复数据 mysql> select * from t_test1; Empty set (0.00 sec) mysql> source /tmp/rec.sql; Query OK, 1 | | 7 | vgcess | 29 | | 8 | hdgd | 0 | +----+--------+-------+ 8 rows in set (0.00 sec) 数据已恢复
一、mysqldump 备份工具 MySQL自带的逻辑备份工具 它支持数据库全备或指定库备份 它备份的输出以文件形式保存 并且文件内容都是SQL语句 选项 含义 -A --all-databases导出 > E:\dbname.sql #导出多个数据库 mysqldump -uroot -p -B db1 db2 > E:\dbname.sql #导出所有数据库 mysqldump -uroot -p -A > E:\dbname.sql 2.导出数据表(Table) #导出整张表,导出多张表需空格隔开 mysqldump -uroot -p123456 -B db_name --tables mysqldump 工具导出的数据文件其实是一种SQL脚本,导出后可以方便快速地恢复到数据库中 3.导出数据内容到Excel文件 # -e 参数,执行SQL语句,返回结果重定向到Excel文件中 mysql -uroot -p123456 -e "select * from mysql.user" > E:\user.xlsx ---- 二、数据恢复 方法1. cmd命令 #导入单个库或数据表,前提是库已存在
现在鼎甲科技任技术顾问,为同事和客户提供数据库培训和技术支持服务。 TwinDB是一款专门用于InnoDB数据恢复的工具,它还有一个名字叫undrop for InnoDB。 当MySQL无法启动时,TwinDB工具集可以从系统表空间文件ibdata1中直接恢复表结构。 这样所有表的数据字典信息都恢复到这4个表中了,下面编译生成sys_parser工具: # make sys_parser /bin/mysql_config cc -o sys_parser sys_parser.c 恢复删除的表 TwinDB工具集可以用于恢复刚刚被误删除的表,如果误删除了world.city表,这个表对应的独立表空间文件/var/lib/mysql/world/city.ibd也被删除,使用前面的命令可以恢复这个表的表结构 3.从损坏的表空间中挽救数据 造成表空间损坏的原因很多:硬盘坏道、多个进程同时访问数据文件、突然掉电等。遇到表空间损坏时,TwinDB工具集可以跳过损坏的部分,尽量读取多的数据。
上一篇介绍了逻辑备份工具mysqldump,本文将通过应用更为广泛的物理备份工具xtrabackup来演示数据备份及恢复的第二篇内容(本文篇幅较长,建议收藏后阅读)。 01 xtrabackup 工具的安装 1.1 安装依赖包 /* xtrabackup 的使用需要安装相关的依赖包 否则使用过程中会报相关错误 */ yum install -y rsync ,默认3306 --host=HOST 需备份数据库的IP --apply-log 前滚、回滚日志,恢复前用 --database 本次恢复至一个新实例中(如果恢复至现有的实例需要先关闭目标实例,删除数据目录及相关日志存储的目录。 05 小结 基于xtrabackup2.4版本备份MySQL5.7数据库的主要方法及过程常用情况均已演示,结尾处再总结一下xtrabackup的主要优点: 物理备份,备份速度快 热备份、无需停机 恢复速度快
引: 如果你是通过搜索找到本文,请注意,本文内容不适用于文件误删恢复、已经损坏的文件且无 PAR 2 恢复数据的情况。 1. 创建纠错数据和恢复文件 可以实现的工具有很多,从软件维护情况、是否开源、免费等方面考虑,本文推荐的是 命令行工具 par2cmdline 和带图形界面的 MultiPar,同时考虑到 WinRAR 的受众广泛 3.1 使用 Par2cmdline 创建恢复模块和恢复数据 推荐查看:par2cmdline 在 Github 上的页面,有完整的命令行说明。 -r15% demo.pdf.par2 demo.pdf # 创建约 4 M 大小的恢复数据 par2 create -rm4 demo.pdf.par2 demo.pdf 恢复按块进行恢复,恢复数据的大小由块的数量和大小决定 通过 GUI 设置参数,进行操作即可: 图片 图片 验证数据: 图片 3.2.2 恢复数据 打开MultiPar,点击打开,选择 par2 文件进行校验 图片 图片 图片 附 使用 WinRAR 创建恢复模块和恢复数据
误删除数据的话,oracle里面我们可以使用闪回功能找回误操作的数据。 对于误操作数据的闪回,我们一般推荐 binlog2sql 或者MyFlash(美团点评开源的) 本篇文章, 我们介绍下 binlog2sql的用法: binlog2sql 【首级推荐使用】 官网:https *//g' /root/rollback.sql 3 将数据恢复到数据库中: use testdb ; UPDATE `testdb`. ,可以看到已经恢复好了。 set work_id='11' where id=32 limit 1 ; # 简单实验,update不更新其它列的数据 step2: update test.t1 set work_id='22
今天我们通过一则真实的案例来认识oracle 自带工具AMDU,无需将磁盘组mount即可实现数据分析,轻松进行数据恢复 某日,我们收到了一则中国香港用户ASM破坏案例,请求数据恢复。 技术回放 对于这个案例,我们有多种手段可以进行恢复,只要ASM磁盘组完好,就可以很容易的从中提取数据,本案例我们使用了AMDU工具进行恢复。 而IMG文件则是元数据块的镜像转储,为2进制文件,这些文件在ASM出现故障时,可以用于收集信息,分析故障。 有了文件分布信息,接下来的恢复就大大简化了。 AMDU文件恢复 获得了文件的分布信息之后,就可以使用amdu工具进行文件提取工作。 ,而Oracle的AMDU工具在这种情况下为我们提供了便利的恢复手段。
一 前言 作为DBA 运维MySQL 数据库的过程中,肯定遇到过在没有备份和binlog的情况下,ibd文件损坏或者误删除数据的情况,如何恢复呢? 不能保证数据总一定可被恢复。例如,被重写的数据不能被恢复,这种情况下可能需要针对系统或物理的方式来恢复,不属于本工具的范畴。 Time is of the essence. 需要理解的是innodb-tools工具不是通过连接到在线的database进行数据恢复,而是通过离线拷贝数据的方式进行的。 注意:不要在MySQL运行的时候,直接拷贝InnoDB文件,这样是不安全的,会影响数据恢复过程。不过这点我做了测试,在数据库运行的时候是可以进行数据库恢复的。 -介绍binlog2sql恢复dml 操作。
如果4K未对齐,可以使用Diskgenius等工具进行对齐操作。 ▌CrystalDiskInfo使用教程 查看硬盘健康状态 CrystalDiskInfo是一款比较好用的硬盘健康监控工具,可以查看硬盘的健康状态、温度、接口类型等详细信息。 ▌4DDiG DLLFixer使用教程 4DDiG DLLFixer是一款非常方便的工具,可以快速处理DLL文件丢失的问题。 软件下载后需要先安装一下,建议安装到除C盘以外的其他盘中。
最近公司的一个项目,需要备份redis的数据,像sql客户端备份sql语句一样,先把redis数据备份到电脑本地,然后再从电脑本地的数据,恢复到另一个redis上。 这个时候,假如使用redis原来的服务端备份是不行的,因为服务端备份是将整个redis的文件备份,恢复的时候是替换形式的,替换目标redis的存储文件,这样目标redis的数据就会被覆盖,因此不能使用原来 后来发现了,可以使用yunedit-redis这个工具来备份。 下面来介绍下如何使用这个工具来做恢复:首先,打开yunedit-redis的管理界面,如下图:上图,左边的redis的列表和redis下db的列表一个redis原来是可以分为16个不同的db,默认假如不选 然后导入的数据,使用下图的这个导入功能来导入数据:这个导入功能可以将原来导出的数据,导入到原来的redis上,也可以导入到其他的redis上,支持跨库恢复。
数据库恢复技术与案例 使用Oracle9i的 Flashback Query恢复误删除数据 从Oracle9iR2开始,可以使用flashback query闪回误删除的数据,在undo_retention Oracle数据恢复:格式化、ASM及字典损坏案例三则 最近一周以来,恩墨科技帮助多家用户进行了数据恢复,挽救了多个危难之中的数据库。 接下来发现数据库丢失了2个重要的数据文件。如何使用BBED工具修复坏块 在数据库遭受损坏时,可以通过BBED工具对数据块进行修复,BBED的copy命令等对恢复非常有效。 数据库恢复技术与案例 使用Oracle9i的 Flashback Query恢复误删除数据 从Oracle9iR2开始,可以使用flashback query闪回误删除的数据,在undo_retention 接下来发现数据库丢失了2个重要的数据文件。 如何使用BBED工具修复坏块 在数据库遭受损坏时,可以通过BBED工具对数据块进行修复,BBED的copy命令等对恢复非常有效。
安装binlog2sql工具 3.在mysql的主服务器上,创建闪回操作账号的权限 mysql> GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT 工具 1)解析出标准的SQL python binlog2sql.py -h192.168.1.21 -P30136 -uglon -p'123456' -d xcrm -t edai_binlog2sql --start-file=mysql-bin.000001 > edai_binlog2sql.sql 参数解释: -h:数据库服务地址 -u:连接用户名 -p:密码 -P:端口 -d:数据库名 -t 6159262 end 6159534 time 2018-11-22 15:15:46 可以看到,我们刚刚的delete语句,被反转为insert语句,update 修改为原来的时间 拿到了具体的恢复语句 ,那我们拿去数据库执行吧
原理及其使用 生产上误删数据、误改数据的现象也是时常发生的现象,作为运维这时候就需要出来补锅了,最开始的做法是恢复备份,然后从中找到需要的数据再进行修复,但是这个时间太长了,对于大表少数数据的修复来讲, 当然还有其他的一些操作方法,binlog2sql使用。 用途 数据回滚 主从切换后数据不一致的修复 从 binlog 生成标准 SQL,带来的衍生功能 闪回原理简析 开始之前,先说说闪回。 binlog 有三种可选的格式: statement:基于 SQL 语句的模式,binlog 数据量小,但是某些语句和函数在复制过程可能导致数据不一致甚至出错; mixed:混合模式,根据语句来选用是 但是,DDL 语句,比如drop,truncate 在整个使用中都是无法被回滚的,这种情况,只能用最近的备份数据+二进制日志恢复 本次实验,更改一条数据,并删除一条数据,然后从解析 binlog 信息, 到使用 binlog2sql 工具来生成标准和回滚 SQL,来剖析整个运行过程。
my2sql 使用说明来源原作者:my2sql的GitHub地址:https://github.com/liuhr/my2sql go版MySQL binlog解析工具,通过解析MySQL binlog 类似工具有binlog2sql、MyFlash、my2fback等,本工具基于my2fback、binlog_rollback工具二次开发而来。 找出某个时间点数据库是否有大事务或者长事务 主从延迟,分析主库执行的SQL语句 除了支持常规数据类型,对大部分工具不支持的数据类型做了支持,比如json、blob、text、emoji等数据类型sql生成 产品性能对比 binlog2sql当前是业界使用最广泛的MySQL回滚工具,下面对my2sql和binlog2sql做个性能对比。 .000002, 30096) [root@localhost home]# 离线直接读取binlog文件解析:(-mode file -local-binlog-file) 离线库上必须要创建需要恢复或者解析的库和表
老板的痛斥、经理的训斥接踵而来,接下来就是没休息、加班,甚至忙到凌晨都不能离开那该死的电脑,这个时候如何利用简单的工具来恢复被你删除的数据就很重要了,现在有很多Linux数据恢复工具可以让我们摆脱数据安全的困扰 下面具体介绍这8款Linux数据恢复工具: 1、Knoppix Knoppix是从损坏的机器中恢复数据的最佳工具之一。它有一个可引导的CD版本,友好的用户界面。它可以让你轻松安装驱动器,然后复制数据。 2、Ddrescue Ddrescue的目的是将这个文件中的数据复制到另一个。这对恢复放在崩溃和损坏磁盘上的数据非常有帮助。 该软件提供了处理各种任务的工具,例如分区操作、文件恢复、硬盘测试以及硬盘格式化。此数据恢复工具还可以用于Linux和Windows电脑,无论是台式机还是服务器。 它简直就是数据恢复专家,配置了免费的开源数据恢复和取证工具的命令行界面环境。这个工具在恢复和救援文件、系统文件,以及修复来自非标准外部驱动器的数据时,非常有用。
由于是在开发试运行中的项目,还没来得及进行备份处理,所以从备份恢复宣告失败。就算有备份那么恢复的也是备份时间节点的数据,意味着使用平台做的数据需要从备份时间重新做过,而且有可能有遗漏。 然后就找到了ApexSQLLog工具,接下来我介绍下这款工具的使用和如何恢复数据。 恢复数据测试。 我们使用update语句将Status状态全都重置为3。 在我帮小伙伴恢复数据的时候发现他的表没有设置主键,而且字段有20多个,3万多条数据生成的sql都是100多M,还要拆分执行。 以上就是一次数据恢复的分享,如果下次你也遇到这种情况希望能帮到你。
extundelete的安装与使用 Linux下常见的基于开源的数据恢复工具有:debugfs/R-Linux/ext3grep/extundelete 1.恢复原理:三步 extundelete恢复文件并不依赖特定的文件格式 最后利用dd命令将这些信息备份出来,从而恢复数据文件 2.安装(介绍编译安装) 安装前需安装e2fsprogs和e2fsprogs-libs两个依赖包 下载extundelete(.tar.bz2)结尾的文件 ,假设为0.2.4版本 解压:tar jxvf extundelete-0.2.4.tar.bz2 cd extundelete-0.2.4 . 4.注意 数据被误删之后,首先要做的是卸载被删除数据所在的磁盘或磁盘分区。如果根分区遭到删除,需要将系统进入单用户,并且将根分区以只读模式挂载。 如果磁盘以读写械挂载,这些已删除文件的数据块就可能被操作系统重新分配出去,在这些数据块被新的数据覆盖后,这些数据就真丢失了。所以以只读模式挂载可以尽量降低数据块中数据被覆盖的风险。
电脑、手机,U盘数据丢失怎么办?不要怕,今天带来数据恢复软件,它的功能非常强大,支持恢复删除的微信聊天记录,可以恢复被删除的照片和视频,支持深度扫描,更安全更快速的帮你找回你删除的内容。 从所有数据丢失场景中检索数据,并从所有存储设备中恢复数据并崩溃Nindows:系统或可启动问题可靠的数据恢复软件,恢复率96%。 1、安装时选择中国台湾繁体中文1/中国香港繁体中文; 2、安装完成把Crack补丁复制到软件安装目录替换覆盖即; 2.易我数据恢复软件 EaseUS Data Recovery Wizard已激活技术版终身 v14.5.0绿色便携版,易我数据恢复软件,全球软件开发商 EaseUS出品的一款专业数据恢复软件,可以全面恢复删除丢失数据,能对电脑误删文件恢复、格式化硬盘数 据恢复、手机U盘数据恢复等、RAID磁盘阵列数据恢复 、分区丢失以及其他末知原因丢失的数据恢复,简单易 用轻松搞定数据恢复。
, 找到当天的全量备份数据恢复, 然后在这基础上进行增量恢复即可恢复到某个特定的时间点. 数据恢复 当需要恢复数据时, 如何根据这两个备份文件进行恢复呢? 打个比方, 当前时间是: 2020-9-4 23:00:00. 此时, 我做了清表的疯狂操作. 如何恢复数据? 1. 请注意, 这步操作会将今日生成的数据删除. 2. 通过增量备份, 将数据恢复到指定时间节点 通过mysqlbin工具, 将指定时间的数据库变更操作导出: mysqlbinlog -v --start-datetime="2020-09-04 00:00 此时, 数据就已经恢复了. ---- 肤浅的记录一下, 虽然现在可以恢复数据了, 但是还有很多问题没有解决, 比如, 如何只恢复一张表的数据等等. 吃一堑长一智, 之后对数据库的操作要慎之又慎.