北京SEO

利用MySQL中InnoDB数据文件中的恢复数据

2019/10/10/17:36:38  阅读:1775  来源:谷歌SEO算法  标签: 夫唯SEO视频教程

1.简述恢复原理

因为文档中较为详细的描述,这里只简单说明。所有InnoDB的数据都是索引的方式组织的,而且所有的数据都是存储在16KB的数据块中。恢复的过程分几步,分解所有数据文件为单个16KB大小的页面,根据每个页面的标记的数据起点开始尝试匹配,如果与给定表定义的size合适,认为匹配成功,则输出记录。

2.并行的恢复

数据恢复通常是争分夺秒的,PDRTI工具本身是一个基础工具,如果使用该工具做做串行恢复,时间会非常长,通过简单的shell脚本可以让constraints_parser脚本并行工作,这样可以大大缩短数据的恢复时间。根据实际经验,机器稍微好点,实际恢复时间可以缩短到串行的二十分之一。也就是说,原来需要40小时,通过并行可能2个小时就可以了。

以下是两个并行恢复的脚本,供参考,代码如下:

  1. #!/bin/bash
  2. ws=/u01/recovery
  3. pagedir=/u01/recovery/pages-1372436970/FIL_PAGE_INDEX
  4. logdir=/u01/recovery/log
  5. rectool=/u01/recovery/percona-data-recovery-tool-for-innodb-0.5/constraints_parser
  6. cd`dirname$rectool`
  7. count=0
  8. page_count=353894
  9. page_done=0
  10. startdate=`date+%s`
  11. ford1in`ls$pagedir`
  12. do
  13. count=$(($count+1))
  14. echo"inpage$d2atdir$d1">$logdir/$count.log
  15. thedate=`date+%s`
  16. echo"$page_done/$page_countat$thedatefrom$startdate"
  17. total=`ls-l$pagedir/$d1/|wc-l`
  18. page_done=$(($page_done+$total))
  19. threads=`psaxu|grepparser_jobs|grep-vgrep|wc-l`
  20. echo$threads
  21. while[$threads-gt48];
  22. do
  23. sleep1
  24. threads=`psaxu|grepparser_jobs|grep-vgrep|wc-l`
  25. done
  26. $ws/parser_jobs.sh$pagedir/$d1>$ws/job.log2>&1&
  27. done#!/bin/bash
  28. pagedir=/u01/recovery/pages-1372436970/FIL_PAGE_INDEX
  29. logdir=/u01/recovery/log
  30. rectool=/u01/recovery/percona-data-recovery-tool-for-innodb-0.5/constraints_parser
  31. logfile="$logdir/`basename$1`.log"
  32. echo"$1">$logfile
  33. if[-d$1];then
  34. ford2in`ls$1`
  35. do//phpfensi.com
  36. $rectool-5-f$1/$d2>>$logfile2>/dev/null
  37. done
  38. fi

3.从索引中恢复

如果知道数据表的索引结构,如果数据部分损坏,但是索引部分完整,可以通过这个办法提取出来更多的字段信息.

4.紧急情况下的问题处理

这次下厨房的技术总结中提到,"第一时间停止MySQL防止硬盘继续写入这个应急措施是错误的",正常如果进程没有被关闭,进程所打开的文件是不会被覆盖的,可以通过从/proc文件系统拷贝的方式恢复出当前仍然打开的文件(参考:Recovering files from /Proc),如果数据文件和日志文件都能够cp出来,那么有希望让MySQL自己启动,并根据事务日志恢复出当前一致的数据.

广告内容

利用MySQL中InnoDB数据文件中的恢复数据 利用MySQL中InnoDB数据文件中的恢复数据 利用MySQL中InnoDB数据文件中的恢复数据

相关阅读

热门评论

木木老贼 木木老贼

互联网营销达人~

总篇数181

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法