<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>惜分飞 &#187; 删除mysql目录恢复</title>
	<atom:link href="https://www.xifenfei.com/tag/%e5%88%a0%e9%99%a4mysql%e7%9b%ae%e5%bd%95%e6%81%a2%e5%a4%8d/feed" rel="self" type="application/rss+xml" />
	<link>https://www.xifenfei.com</link>
	<description>提供7*24专业数据库(Oracle,SQL Server,MySQL,PostgreSQL等)恢复和技术支持@Tel:17813235971</description>
	<lastBuildDate>Wed, 04 Nov 2026 15:33:30 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>mysql ibd文件反删除恢复之后异常处理</title>
		<link>https://www.xifenfei.com/2022/07/mysql-ibd-undelete-error-recovery.html</link>
		<comments>https://www.xifenfei.com/2022/07/mysql-ibd-undelete-error-recovery.html#comments</comments>
		<pubDate>Fri, 15 Jul 2022 14:01:07 +0000</pubDate>
		<dc:creator><![CDATA[惜分飞]]></dc:creator>
				<category><![CDATA[MySQL恢复]]></category>
		<category><![CDATA[ibd反删除恢复]]></category>
		<category><![CDATA[rm mysql恢复]]></category>
		<category><![CDATA[删除mysql目录恢复]]></category>

		<guid isPermaLink="false">https://www.xifenfei.com/?p=9827</guid>
		<description><![CDATA[联系：手机/微信(+86 17813235971) QQ(107644445)  &#8230; <a href="https://www.xifenfei.com/2022/07/mysql-ibd-undelete-error-recovery.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="xifenfeicopyright">
<p>联系：<a href="https://www.xifenfei.com/about_xifenfei" target="_blank">手机/微信(+86 17813235971)   QQ(107644445)</a><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&#038;uin=107644445&#038;site=qq&#038;menu=yes"><img src="https://www.xifenfei.com/wp-content/themes/img/site_qq.jpg" alt="QQ咨询惜分飞" title="QQ咨询惜分飞"/></a></p>
<p>标题：<a href="https://www.xifenfei.com/2022/07/mysql-ibd-undelete-error-recovery.html" target="_blank">mysql ibd文件反删除恢复之后异常处理</a></p>
<p>作者：<a href="https://www.xifenfei.com" target="_blank">惜分飞</a>©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]</p>
</div>
<p>有客户因为误操作删除了mysql的datadir目录,并且mysql数据库已经关闭(如果没有关闭可以采用类似方法:<a href="https://www.xifenfei.com/2020/02/mysql-datadir-rm-recovery.html" title="mysql 数据库目录被删除恢复" rel="noopener" target="_blank">mysql 数据库目录被删除恢复</a>),由于无法通过该方法直接处理,首先尝试文件系统层面进行恢复<br />
<a href="https://www.xifenfei.com/wp-content/uploads/2022/07/20220715215237.jpg"><img src="https://www.xifenfei.com/wp-content/uploads/2022/07/20220715215237.jpg" alt="20220715215237" width="484" height="180" class="alignnone size-full wp-image-9828" /></a><br />
<hr />
虽然可以看到相关的数据文件(最大的一个表的ibd文件100多G),通过查看该ibd文件发现几乎全部为0<br />
<a href="https://www.xifenfei.com/wp-content/uploads/2022/07/20220715215439.jpg"><img src="https://www.xifenfei.com/wp-content/uploads/2022/07/20220715215439.jpg" alt="20220715215439" width="538" height="274" class="alignnone size-full wp-image-9829" /></a><br />
<hr />
基于这种情况,无法通过文件系统层面进行恢复，只能考虑从mysql block层面进行恢复,参考类似恢复:<a href="https://www.xifenfei.com/2020/05/mysql-rm-database-recovery.html" title="又一起mysql rm删除数据库目录事故" rel="noopener" target="_blank">又一起mysql rm删除数据库目录事故</a>处理方法,实现绝大多数数据恢复<br />
<a href="https://www.xifenfei.com/wp-content/uploads/2022/07/20220715215058.jpg"><img src="https://www.xifenfei.com/wp-content/uploads/2022/07/20220715215058.jpg" alt="20220715215058" width="735" height="295" class="alignnone size-full wp-image-9830" /></a><br />
<hr />
再次提醒对于mysql数据库也需要考虑好安全备份方案,谁都不能保证人永远不误操作,不能保证硬件永远不出故障.</p>
<div id="crp_related"><ul><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/04/win-fs-corruption-recovery.html" rel="bookmark" class="crp_title">win文件系统损坏oracle恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/07/ora-702_recovery-tool.html" rel="bookmark" class="crp_title">ORA-00702一键恢复工具</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/02/decrypt20firemail-cc-eking.html" rel="bookmark" class="crp_title">.[decrypt20@firemail.cc].eking 数据库勒索恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/07/delete-partition-oracle-recovery.html" rel="bookmark" class="crp_title">误删除分区oracle数据库恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/06/ora-01110-ora-17070-osd-04006.html" rel="bookmark" class="crp_title">ORA-01110 ORA-17070 OSD-04006 故障恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/12/crs-2674-root-sh-failed.html" rel="bookmark" class="crp_title">RAC节点时间间隔过大导致执行root.sh不成功</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/05/asm-drop-tbs-recovery.html" rel="bookmark" class="crp_title">ASM删除表空间恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/11/sql-error-5172.html" rel="bookmark" class="crp_title">数据库附加失败 错误5172</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/01/mallox-db-recovery.html" rel="bookmark" class="crp_title">.mallox加密数据库恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2020/11/12c-ora-600-kcbzib_kcrsds_1.html" rel="bookmark" class="crp_title">12C数据库报ORA-600 kcbzib_kcrsds_1故障处理</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/01/2022-first-recovery-ora-600-kokasgi1.html" rel="bookmark" class="crp_title">2022年恢复第一单ORA-600 kokasgi1</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/04/eking-oracle-recovery.html" rel="bookmark" class="crp_title">[back2023@proxy.tg].eking勒索数据库恢复</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>https://www.xifenfei.com/2022/07/mysql-ibd-undelete-error-recovery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>又一起mysql rm删除数据库目录事故</title>
		<link>https://www.xifenfei.com/2020/05/mysql-rm-database-recovery.html</link>
		<comments>https://www.xifenfei.com/2020/05/mysql-rm-database-recovery.html#comments</comments>
		<pubDate>Mon, 11 May 2020 15:00:38 +0000</pubDate>
		<dc:creator><![CDATA[惜分飞]]></dc:creator>
				<category><![CDATA[MySQL恢复]]></category>
		<category><![CDATA[rm mysql]]></category>
		<category><![CDATA[rm mysql database]]></category>
		<category><![CDATA[删除mysql目录恢复]]></category>

		<guid isPermaLink="false">https://www.xifenfei.com/?p=8693</guid>
		<description><![CDATA[联系：手机/微信(+86 17813235971) QQ(107644445)  &#8230; <a href="https://www.xifenfei.com/2020/05/mysql-rm-database-recovery.html">继续阅读 <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<div id="xifenfeicopyright">
<p>联系：<a href="https://www.xifenfei.com/about_xifenfei" target="_blank">手机/微信(+86 17813235971)   QQ(107644445)</a><a target="_blank" href="http://wpa.qq.com/msgrd?v=3&#038;uin=107644445&#038;site=qq&#038;menu=yes"><img src="https://www.xifenfei.com/wp-content/themes/img/site_qq.jpg" alt="QQ咨询惜分飞" title="QQ咨询惜分飞"/></a></p>
<p>标题：<a href="https://www.xifenfei.com/2020/05/mysql-rm-database-recovery.html" target="_blank">又一起mysql rm删除数据库目录事故</a></p>
<p>作者：<a href="https://www.xifenfei.com" target="_blank">惜分飞</a>©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]</p>
</div>
<p>有mysql用户直接使用rm命令删除了所在数据库目录文件夹(删除途中发现删除错误,直接强制终止使得部分删除,部分文件得以保留),如果数据库没有crash,这个问题不大,可以直接通过句柄进行恢复出来对应的ibd文件,然后进行一些特殊处理,数据理论上不会有丢失,参见:<a href="//www.xifenfei.com/2020/02/mysql-datadir-rm-recovery.html" title="mysql 数据库目录被删除恢复">mysql 数据库目录被删除恢复</a>.对于这次的情况,只能通过文件系统级别进行恢复,不过该数据库表比较多,大概删除了几千个文件,而且文件系统是ext4,导致大量文件目录被置空,而且该库还运行了一段时间<br />
<a href="//www.xifenfei.com/wp-content/uploads/2020/05/20200507231749.jpg"><img src="//www.xifenfei.com/wp-content/uploads/2020/05/20200507231749.jpg" alt="20200507231749" width="842" height="626" class="alignnone size-full wp-image-8694" /></a><br />
<hr />
看来文件恢复删除这条路,基本上很难走得通,可以通过底层碎片技术恢复,通过底层扫描,找到不少碎片<br />
<a href="//www.xifenfei.com/wp-content/uploads/2020/05/20200510173725.jpg"><img src="//www.xifenfei.com/wp-content/uploads/2020/05/20200510173725.jpg" alt="20200510173725" width="1396" height="530" class="alignnone size-full wp-image-8699" /></a><br />
<hr />
由于涉及的库表多,一个个处理太费时间,通过批量脚本直接解析扫描出来的碎片,并且对其进行入库处理<br />
DBLOGIN=&#8221;-uroot &#8221;<br />
DICT_DBNAME=test<br />
RECOVER_DBNAME=xifenfei<br />
WORK_PATH=&#8221;/nfs_share/mysql-xff&#8221;<br />
cd $WORK_PATH<br />
>/tmp/recover_table_list.$RECOVER_DBNAME<br />
>/tmp/recover_table_parser.$RECOVER_DBNAME<br />
>/tmp/recover_table_unload.$RECOVER_DBNAME<br />
rm -rf /tmp/recover_table_unload_$RECOVER_DBNAME.tmp<br />
echo &#8220;tee /tmp/recover_table_unload_$RECOVER_DBNAME.tmp&#8221; >/tmp/recover_table_unload.$RECOVER_DBNAME<br />
echo &#8220;SET @enable_trigger = 0;&#8221;>>/tmp/recover_table_unload.$RECOVER_DBNAME<br />
echo &#8220;SET FOREIGN_KEY_CHECKS=0;&#8221; >>/tmp/recover_table_unload.$RECOVER_DBNAME<br />
for TABLE_NAME_ID in `mysql $DBLOGIN $DICT_DBNAME -NBe &#8220;SELECT  SYS_TABLES.NAME FROM SYS_TABLES LEFT JOIN SYS_INDEXES ON SYS_TABLES.ID = SYS_INDEXES.TABLE_ID WHERE SYS_INDEXES.NAME IN (&#8216;PRIMARY&#8217;, &#8216;GENERAL_CLUSTERED_INDEX&#8217;) AND SYS_TABLES.NAME LIKE &#8216;${RECOVER_DBNAME}/%&#8217;&#8221;`<br />
do<br />
PKEY=`mysql $DBLOGIN $DICT_DBNAME -NBe &#8220;SELECT  SYS_INDEXES.ID FROM SYS_TABLES LEFT JOIN SYS_INDEXES ON SYS_TABLES.ID = SYS_INDEXES.TABLE_ID WHERE SYS_INDEXES.NAME IN (&#8216;PRIMARY&#8217;, &#8216;GENERAL_CLUSTERED_INDEX&#8217;) AND SYS_TABLES.NAME=&#8217;$TABLE_NAME_ID&#8217;&#8221;`<br />
echo $TABLE_NAME_ID&#8217;,&#8217;$PKEY >>/tmp/recover_table_list.$RECOVER_DBNAME<br />
TABLE_NAME=$(echo `echo $TABLE_NAME_ID`|awk -F&#8221;/&#8221; &#8216;{print $2}&#8217; )<br />
#echo $TABLE_NAME<br />
PAGE=&#8221;pages-ibdata1/FIL_PAGE_INDEX/`printf &#8216;%016u&#8217; ${PKEY}`.page&#8221;<br />
echo &#8220;./c_parser -5f $PAGE -b pages-ibdata1/FIL_PAGE_TYPE_BLOB -t dictionary/$TABLE_NAME.sql > dumps/default/$TABLE_NAME 2> dumps/default/$TABLE_NAME.sql&#8221;  >>/tmp/recover_table_parser.$RECOVER_DBNAME<br />
echo &#8220;source dumps/default/$TABLE_NAME.sql&#8221; >>/tmp/recover_table_unload.$RECOVER_DBNAME<br />
echo &#8220;select &#8216;$TABLE_NAME.sql&#8230;&#8230;done&#8217;;&#8221;>>/tmp/recover_table_unload.$RECOVER_DBNAME<br />
done<br />
echo /tmp/recover_table_parser.$RECOVER_DBNAME<br />
echo /tmp/recover_table_unload.$RECOVER_DBNAME<br />
恢复之后数据整体入库,查询部分没有覆盖表,效果尚可,最大限度抢救了数据<br />
<a href="//www.xifenfei.com/wp-content/uploads/2020/05/20200511225518.png"><img src="//www.xifenfei.com/wp-content/uploads/2020/05/20200511225518.png" alt="20200511225518" width="1508" height="623" class="alignnone size-full wp-image-8696" /></a><br />
<hr />
<div id="crp_related"><ul><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2010/07/mysql%e6%95%b0%e6%8d%ae%e7%ae%a1%e7%90%86.html" rel="bookmark" class="crp_title">mysql数据管理</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2014/12/%e4%bd%bf%e7%94%a8%e5%b7%a5%e5%85%b7%e7%9b%b4%e6%8e%a5%e6%8a%bd%e5%8f%96mysql%e6%95%b0%e6%8d%ae%e5%ad%97%e5%85%b8.html" rel="bookmark" class="crp_title">[MySQL异常恢复]使用工具直接抽取MySQL数据字典</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2022/07/mysql-ibd-undelete-error-recovery.html" rel="bookmark" class="crp_title">mysql ibd文件反删除恢复之后异常处理</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2025/06/format-disk-mysql-recovery.html" rel="bookmark" class="crp_title">文件系统格式化MySQL数据库恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2010/08/mysql%e6%95%b0%e6%8d%ae%e5%ba%93%e5%a4%87%e4%bb%bd%e5%8a%a0%e5%bc%ba%e7%89%88.html" rel="bookmark" class="crp_title">mysql数据库备份加强版</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2015/08/mysql%e6%81%a2%e5%a4%8d%e6%95%b0%e6%8d%ae%e5%ad%97%e5%85%b8%e8%a1%a8%e8%ae%b2%e8%a7%a3.html" rel="bookmark" class="crp_title">[MySQL异常恢复]恢复数据字典表讲解</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2020/03/horseleader-db-recovery.html" rel="bookmark" class="crp_title">.horseleader加密数据库恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2020/01/mysql-encrypted-recovery.html" rel="bookmark" class="crp_title">mysql数据库被加密恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2020/04/ncov-oracle-recovery.html" rel="bookmark" class="crp_title">.ncov加密oracle数据库恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2020/08/coincidenceleague-db-recovery.html" rel="bookmark" class="crp_title">coincidenceleague加密数据库恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2020/05/mysql-ibd-encrypted-recovery.html" rel="bookmark" class="crp_title">mysql ibd文件被加密恢复</a></li><li style="list-style-type:decimal;font-size:11px;" ><a href="https://www.xifenfei.com/2020/03/digital-suffix-encrypted-database-recovery.html" rel="bookmark" class="crp_title">数字后缀名加密数据库恢复</a></li></ul></div>]]></content:encoded>
			<wfw:commentRss>https://www.xifenfei.com/2020/05/mysql-rm-database-recovery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
