- 浏览: 7979732 次
- 性别:
- 来自: 广州
-
文章分类
- 全部博客 (2425)
- 软件工程 (75)
- JAVA相关 (662)
- ajax/web相关 (351)
- 数据库相关/oracle (218)
- PHP (147)
- UNIX/LINUX/FREEBSD/solaris (118)
- 音乐探讨 (1)
- 闲话 (11)
- 网络安全等 (21)
- .NET (153)
- ROR和GOG (10)
- [网站分类]4.其他技术区 (181)
- 算法等 (7)
- [随笔分类]SOA (8)
- 收藏区 (71)
- 金融证券 (4)
- [网站分类]5.企业信息化 (3)
- c&c++学习 (1)
- 读书区 (11)
- 其它 (10)
- 收藏夹 (1)
- 设计模式 (1)
- FLEX (14)
- Android (98)
- 软件工程心理学系列 (4)
- HTML5 (6)
- C/C++ (0)
- 数据结构 (0)
- 书评 (3)
- python (17)
- NOSQL (10)
- MYSQL (85)
- java之各类测试 (18)
- nodejs (1)
- JAVA (1)
- neo4j (3)
- VUE (4)
- docker相关 (1)
最新评论
-
xiaobadi:
jacky~~~~~~~~~
推荐两个不错的mybatis GUI生成工具 -
masuweng:
(转)JAVA获得机器码的实现 -
albert0707:
有些扩展名为null
java 7中可以判断文件的contenttype了 -
albert0707:
非常感谢!!!!!!!!!
java 7中可以判断文件的contenttype了 -
zhangle:
https://zhuban.me竹板共享 - 高效便捷的文档 ...
一个不错的网络白板工具
http://hidba.org/?p=852
昨晚收到一则求助,一个用户的本地数据库的重要数据由于误操作被删除,需要进行紧急恢复,用户的数据库日常并没有进行过任何备份,binlog也没有开启,所以从备份和binlog入手已经成为不可能,咨询了丁奇,发了一篇percona的文章给我,顿时感觉有希望,于是到percona的官网上下载了恢复工具:
一.安装:
.tar -xvf percona-data-recovery-tool-for-innodb-0.5.tar.gz
.cd percona-data-recovery-tool-for-innodb-0/mysql-source/
../configure
.cd percona-data-recovery-tool-for-innodb-0
.make
二.解析ibd文件:
此过程会将表的idb文件解析为很多的page,innodb的page分为两大部分,一部分一级索引部分(primary key),另一部分为二级索引部分(secondary key),所以解析出来的idb包括了主键数据和索引数据两大部分(如果该表有多个二级索引,则会生成多个文件)
./page_parser -5 -f t_bibasic_storage.ibd
参数解释:
-5:代表 row format为Compact
-f:代表要解析的文件
结果如下:
pages-1377707810/FIL_PAGE_INDEX
0-161 0-325 0-463 0-464 0-465
可以看到t_bibasic_storage.ibd解析出来5个文件(161为主键索引的index_id,325,463,464,465为二级索引的index_id,该id可以通过开启innodb_table_monitor知晓)
三.生成表定义:
由于该工具在解析数据pages的时候,需要获得该table的表结构定义,所以需要执行如下命令:
./create_defs.pl –host 60.216.75.45 –port 3306 –user root –password QWEhdysJSB20130413 –db didb –table t_bibasic_storage >include/table_defs.h
上面的命令会将t_bibasic_storage表的表结构定义传入到table_defs.h中,在生成了表结构定义后,重新make该恢复工具:
.make
四.开始恢复pages中删除的数据:
在重新编译工具后,执行如下命令:
./constraints_parser -5 -D -f pages-1377707810/FIL_PAGE_INDEX/0-161 >/tmp/t_bibasic_salessend.sql
参数:
-5 -f的参数和page_parser相同;
-D:该参数的含义为代表恢复删除的数据页;
恢复完成后生成如下语句和文件:
LOAD DATA INFILE ‘/tmp/t_bibasic_proinfo.dmp’ REPLACE INTO TABLE `t_bibasic_proinfo` FIELDS TERMINATED BY ‘\t’ OPTIONALLY ENCLOSED BY ‘”‘ LINES STARTING BY ‘t_bibasic_proinfo\t’ (id, procode, skuoid, skucode, skuname, catatt, dutydepoid, dutydepname, seasonatt, brandatt, prostatus, choosedate, syear, smonth, sday, created, unioncomcode);
/tmp/t_bibasic_salessend.sql 该文件就是我们需要load data的文本文件;
总结:
1)。该恢复工具只支持innodb存储引擎,文件的格式需要为:Compact
2)。数据被误删除后,需要尽快将保护现场,停止数据库,把idb文件拷贝出来,防止ibd文件写入数据被覆盖(笔者恢复的一个表中,由于数据删除后,表中仍有大量写入,导致大部分数据没有恢复出来);
3)。千叮嘱万嘱咐,数据库的备份重于泰山;
昨晚收到一则求助,一个用户的本地数据库的重要数据由于误操作被删除,需要进行紧急恢复,用户的数据库日常并没有进行过任何备份,binlog也没有开启,所以从备份和binlog入手已经成为不可能,咨询了丁奇,发了一篇percona的文章给我,顿时感觉有希望,于是到percona的官网上下载了恢复工具:
一.安装:
.tar -xvf percona-data-recovery-tool-for-innodb-0.5.tar.gz
.cd percona-data-recovery-tool-for-innodb-0/mysql-source/
../configure
.cd percona-data-recovery-tool-for-innodb-0
.make
二.解析ibd文件:
此过程会将表的idb文件解析为很多的page,innodb的page分为两大部分,一部分一级索引部分(primary key),另一部分为二级索引部分(secondary key),所以解析出来的idb包括了主键数据和索引数据两大部分(如果该表有多个二级索引,则会生成多个文件)
./page_parser -5 -f t_bibasic_storage.ibd
参数解释:
-5:代表 row format为Compact
-f:代表要解析的文件
结果如下:
pages-1377707810/FIL_PAGE_INDEX
0-161 0-325 0-463 0-464 0-465
可以看到t_bibasic_storage.ibd解析出来5个文件(161为主键索引的index_id,325,463,464,465为二级索引的index_id,该id可以通过开启innodb_table_monitor知晓)
三.生成表定义:
由于该工具在解析数据pages的时候,需要获得该table的表结构定义,所以需要执行如下命令:
./create_defs.pl –host 60.216.75.45 –port 3306 –user root –password QWEhdysJSB20130413 –db didb –table t_bibasic_storage >include/table_defs.h
上面的命令会将t_bibasic_storage表的表结构定义传入到table_defs.h中,在生成了表结构定义后,重新make该恢复工具:
.make
四.开始恢复pages中删除的数据:
在重新编译工具后,执行如下命令:
./constraints_parser -5 -D -f pages-1377707810/FIL_PAGE_INDEX/0-161 >/tmp/t_bibasic_salessend.sql
参数:
-5 -f的参数和page_parser相同;
-D:该参数的含义为代表恢复删除的数据页;
恢复完成后生成如下语句和文件:
LOAD DATA INFILE ‘/tmp/t_bibasic_proinfo.dmp’ REPLACE INTO TABLE `t_bibasic_proinfo` FIELDS TERMINATED BY ‘\t’ OPTIONALLY ENCLOSED BY ‘”‘ LINES STARTING BY ‘t_bibasic_proinfo\t’ (id, procode, skuoid, skucode, skuname, catatt, dutydepoid, dutydepname, seasonatt, brandatt, prostatus, choosedate, syear, smonth, sday, created, unioncomcode);
/tmp/t_bibasic_salessend.sql 该文件就是我们需要load data的文本文件;
总结:
1)。该恢复工具只支持innodb存储引擎,文件的格式需要为:Compact
2)。数据被误删除后,需要尽快将保护现场,停止数据库,把idb文件拷贝出来,防止ibd文件写入数据被覆盖(笔者恢复的一个表中,由于数据删除后,表中仍有大量写入,导致大部分数据没有恢复出来);
3)。千叮嘱万嘱咐,数据库的备份重于泰山;
发表评论
-
让 InnoDB 多任务运行
2018-09-06 16:06 804今天偶然看到的一招,记录下 如果服务器上的参数 innodb_ ... -
mysql中查询连接工作状态
2018-05-31 15:13 704#!/bin/bash while true do mysql ... -
MYSQL BACKUP的SHELL相关语句
2018-05-25 20:33 574#!/bin/bash ###############Basi ... -
MySQL This function has none of DETERMINISTIC, NO SQL...错误1418 的原因分析及解决方法
2018-05-08 11:17 652MySQL开启bin-log后,调用存储过程或者函数以及触发器 ... -
NUMA的选择
2018-04-24 09:52 1424现在的机器上都是有 ... -
关于MYSQL 5.7线程池的好文收集
2018-03-27 10:57 1560来自腾讯工程师的好文: https://www.jianshu ... -
MYSQL 的审计日志插件
2017-11-30 10:19 1313MYSQL 的审计日志插件,可惜目前只是LINUX用: 来自M ... -
(转)MySQL InnoDB缓冲池配置详解
2017-10-09 16:55 4089一、InnoDB缓冲池 InnoDB维护一个称为缓冲池的内存 ... -
(转)MySQL 5.7默认SQL模式带来的问题总结
2017-10-05 18:46 1887http://www.ywnds.com/?p=8865 在 ... -
(转)MySQL 5.7默认ONLY_FULL_GROUP_BY语义介绍
2017-10-05 18:45 1214http://www.ywnds.com/?p=8184 ON ... -
MySQL 5.6 新功能之 Index Condition Pushdown (ICP)
2017-10-05 15:52 810http://www.cnblogs.com/zhoujiny ... -
mysql 5.7中的MBR和BKA算法
2017-10-03 15:11 1739一、什么是MRR MMR全称是Multi-Range Re ... -
(收藏)万字总结:学习MySQL优化原理,这一篇就够了!
2017-09-30 23:37 1207http://dbaplus.cn/news-155-1531 ... -
(转)MySQL中NULL和空值的区别
2017-09-23 15:57 2244MySQL中NULL和空值的区别 http://www.yw ... -
mysql 5.7中关于count(*)的优化
2017-09-20 19:15 2388在mysql 5.7中,对于select count(*) f ... -
MySQL 索引设计概要
2017-09-12 21:12 536<<MySQL 索引设计概要>>,不错 ... -
10分钟学会理解和解决MySQL乱码问题
2017-07-22 18:21 568http://cenalulu.github.io/mysql ... -
MySQL的or/in/union与索引优化
2017-07-22 08:29 973https://mp.weixin.qq.com/s/ZWez ... -
MYSQL中查看某个表或库的大小语句
2017-04-02 09:12 1985在information_schema.tables中有相关记 ... -
(收藏)MYSQL大表方案
2017-01-09 19:58 1457https://segmentfault.com/a/1190 ...
相关推荐
percona-data-recovery-tool-for-innodb-0.5.tar.tar
这是我从网上找到的mysql/mariadb对innodb表进行数据恢复的工具,实现从innodb的数据库文件中恢复数据,用于实现下面情况:1、直接下载了innodb数据库的文件,而不是导出其数据,想恢复数据时(需要有完整的文件,...
总的来说,MySQL单表ibd文件恢复涉及对InnoDB存储引擎的理解,以及熟练掌握备份工具如innobackupex和Percona Data Recovery Tool的使用。在实际操作中,应结合具体情况选择合适的恢复方案,并在必要时咨询专业人士以...
Percona Xtrabackup+Binlog 完全恢复技术 Percona Xtrabackup 是一种热备工具,能在线对 MySQL 数据库进行全量备份和增量...使用 Percona Xtrabackup 和 Binlog,可以快速恢复数据库到故障时刻,减少数据丢失的风险。
Percona Monitoring Plugins for Zabbix 使用手册
它会复制innodb的data file,由于不锁表,复制出来的数据是不一致的,在恢复的时候使用crash-recovery,使得数据恢复一致。 InnoDB维护了一个redo log,又称为transaction log,事务日志,它包含了innodb数据的...
### Percona Server for MySQL 5.7.18-15 知识点解析 #### 一、引言 Percona Server for MySQL 是一个增强版的 MySQL 替代方案,旨在提供更高的性能、可扩展性及可靠性。它适用于对数据库性能有极高要求的企业级...
"zabbix3.4_percona_templates_for_mysql.xml"是专为Zabbix 3.4设计的Percona MySQL监控模板,包含了一系列预定义的监控项、触发器、图形和应用,用于监测Percona MySQL服务器的关键性能指标,如CPU使用率、内存消耗...
对于支持备份锁的环境,Percona XtraBackup会先备份InnoDB数据,然后应用`LOCK TABLES FOR BACKUP`,复制MyISAM表和其他相关文件。备份过程中,所有必要的文件如.frm、.MRG、.MYD、.MYI、.TRG、.TRN、.ARM、.ARZ、....
使用`innodb_force_recovery`,尤其是级别2和3,可能能帮助读取`t1-损坏.ibd`中的一些可恢复数据。 总的来说,处理InnoDB文件损坏时,理解并正确使用`innodb_force_recovery`至关重要。不过,这种操作具有一定的...
Percona Xtrabackup就是这样一款强大的开源工具,专为MySQL数据库设计,提供高效、可靠的数据备份与恢复功能,尤其在热备份场景下表现卓越。 Percona Xtrabackup是由Percona公司开发的,它是一款开源、免费的热备份...
最后,我们需要搭建新的数据库服务器,并使用备份文件恢复数据。 案例2:恢复单张表 在本案例中,我们将使用innobackupex命令来恢复单张表。 步骤一:备份单张表 首先,我们需要备份单张表,使用以下命令: ...
这一点是用户在备份时需要考虑的,特别是当他们使用的是Percona Server for MySQL或者Percona XtraDB Cluster时。 对于MySQL 8.0之前版本的数据库备份,Percona XtraBackup 8.0并不支持,原因在于MySQL 8.0在数据...
- **Point-in-Time Recovery (PITR)**:支持精确到时间点的恢复,增强了灾难恢复能力。 4. **高可用性与扩展性**: - **Multi-threaded Slave**:改进了复制机制,支持多个线程并行处理二进制日志,加快了数据...
Percona XtraBackup是MySQL数据库管理系统的一个重要工具,专门用于高效、无损的数据备份。它在MySQL社区中广受欢迎,特别是在需要对InnoDB存储引擎进行热备份的场景下。这款工具的独特之处在于它可以在不中断服务的...
同时,应定期测试备份恢复流程,确保在真正需要时能够顺利恢复数据。 总结起来,Percona Xtrabackup 2.0.0是MySQL备份的利器,它的热备份、增量备份、压缩和恢复等功能为数据库管理员提供了强大的保障。对于任何...
在Zabbix中,Percona插件可以收集MySQL的关键性能指标,例如查询执行时间、缓存命中率、InnoDB锁等待等,这些数据对于优化数据库性能至关重要。 导入模板文件`zbx_export_templates.xml`是整个过程的第一步。这个...
- **关键参数**:`innodb_data_file_path`用于设置InnoDB数据文件的位置和大小。 - **示例设置**:`innodb_data_file_path=ibdata1:128M;ibdata2:10M:autoextend` - `ibdata1:128M`表示第一个数据文件ibdata1的...
- 性能改进:Percona Server针对性能的提升有很多改善,包括但不限于查询执行速度的提升和稳定性改进,帮助客户在不需要切分数据(sharding)的情况下,或至少延迟切分数据的到来,这在高性能硬件上尤其重要。...