无全量备份、未开启binlog日志,利用percona工具恢复delete的数据
当我们忘记做全量备份时,并且没有开启binlog,并执行了deletefromsbtest;数据全部丢失,要想恢复是很有难度的。今天,利用PerconaDataRecoveryToolforInnoDB工
当我们忘记做全量备份时,并且没有开启binlog,并执行了
delete from sbtest;数据全部丢失,要想恢复是很有难度的。
今天,利用Percona Data Recovery Tool for InnoDB工具(仅支持InnoDB,MyISAM不支持),可以找回被删除的数据。
原理:在InnoDB引擎,delete删除操作,,不是真正的删除物理文件上的行,而是增加一个删除的标记,我们都用过WORD吧?在修改字体的时候,有一个删除线的标记,如《MySQL 管理之道》,该工具利用这个特性,找回那些标注了删除线的数据,并存入到一个文本里,然后通过load data命令,批量插入到表里。
注:truncate不能恢复(truncate是直接清空数据行,并不是添加删除标记,你可以通过查看物理文件,执行了truncate操作,ibd文件变小,而执行了delete操作,ibd文件还跟之前的一样大),drop不能恢复(数据文件都没了,还怎么恢复?)。
一、安装Percona Data Recovery Tool for InnoDB工具
# wget https://launchpad.net/percona-data-recovery-tool-for-innodb/trunk/release-0.5/+download/percona-data-recovery-tool-for-innodb-0.5.tar.gz
二、全表删除sbtest表
delete from sbtest;三、恢复
1、提取ibd物理文件,按照每页16K,单独存放。
在这里,0-28是sbtest表的主键(id),0-29是sbtest表的索引(k)。记住这个目录数字,后面我们需要通过这个目录恢复数据。
2、生成表结构
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./create_defs.pl --host localhost --port 3306 --user root --password 123456 --db test --table sbtest > include/table_defs.h-- host 主机地址
-- port 端口
-- user 用户名
-- password 密码
-- db 数据库名
-- table 表名
3、再次执行make编译命令
# cd percona-data-recovery-tool-for-innodb-0.5/ # make4、恢复删除的数据
# cd percona-data-recovery-tool-for-innodb-0.5/ # ./constraints_parser -D -5 -f pages-1410414511/FIL_PAGE_INDEX/0-28/ > /tmp/sbtest.txt-D 恢复删除的行
-5 表的文件格式,默认是Compact
(不清楚的朋友,可以用show table status命令查看)
总结:
通过上述方法,顺利的完成了delete数据恢复。在数据被删除后,切记要备份ibd数据文件,一定不要覆盖,否则都是不能完成修复的。目前该工具不支持字符串set类型。
本文出自 “贺春旸的技术专栏” 博客,请务必保留此出处

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









キーボードの削除キーは、del (削除) キーとバックスペース キーの 2 つです。バックスペースはバックスペース キーとも呼ばれます。このキーはカーソルの前のテキスト コンテンツを削除でき、削除キーは文字、ファイル、選択したオブジェクトを削除できます。 Del キーを押すたびに、カーソルの右側の文字が削除され、カーソルの右側の文字が 1 フレーム左に移動します。1 つ以上のファイル/フォルダが選択されている場合は、Del キーを押します。キーを押すとすぐに削除できます。一部のアプリケーションでは、プログラム内のオブジェクトを選択し、Del キーを押すと、選択したオブジェクトをすぐに削除できます。

削除キーの機能は次のとおりです: 1. 文字の削除; 削除キーを押すたびに、カーソルの右側の文字が削除され、カーソルの右側の文字が 1 フレーム左に移動します。 2. ファイルを削除します。1 つ以上のファイル/フォルダーが選択されている場合は、Delete キーを押してそれらをすぐに削除します (回復のためにごみ箱に移動します)。 3. 選択したオブジェクトを削除します。一部のアプリケーションではオブジェクトを選択し、Delete キーを押すと、選択したオブジェクトがすぐに削除されます。

Control+Alt+Delete:「Mac」モード Ctrlaltdel は、Windows ユーザーがタスク マネージャーを開くために使用する一般的なキーの組み合わせです。通常、マネージャー メニューから不要なアプリケーションを終了して、コンピューター上のスペースを解放します。 Control+Alt+Delete Mac 版を使用すると、強制終了メニューを開くことができます。 Mac ユーザーが問題の原因となっているプログラムを終了したい場合、または開いているプログラムを表示したい場合は、メニューを操作してさらに調査することができます。 Mac で ControlAltDelete を実行するにはどうすればよいですか?正常に動作していないアプリケーションがある場合は、このキーの組み合わせを使用する必要があります。

delete で削除されたファイルは復元できます。ユーザーが delete を使用してファイルを削除すると、これらのファイルはごみ箱に移動され、完全には削除されないためです。回復方法: 1. 「ごみ箱」を開き、復元したいファイルを選択し、「この項目を復元」をクリックします; 2. 「ごみ箱」を開き、復元したいファイルを選択し、元に戻すショートカットを使用します。 「ctrl+z」。できます。

Go では、例外処理に Panic と Recover が使用されます。 Panic は例外を報告するために使用され、Recover は例外から回復するために使用されます。パニックによりプログラムの実行が停止し、interface{} 型の例外値がスローされます。 Recover は、遅延関数または goroutine からの例外をキャッチし、スローするインターフェイス型の例外値を返すことができます。{}

今日の Web 開発時代では、特にデータ量の多い Web アプリケーションを扱う場合、効果的かつ効率的なテーブル管理が非常に重要になっています。テーブルの行を動的に追加、編集、削除できる機能により、ユーザー エクスペリエンスが大幅に向上し、アプリケーションがよりインタラクティブになります。これを達成する効果的な方法は、jQuery の機能を活用することです。 jQuery は、開発者が操作を実行するのに役立つ多くの機能を提供します。テーブルの行 テーブルの行は、相互に関連するデータのコレクションであり、HTML の要素で表されます。これは、テーブル内のセル (要素で表される) をグループ化するために使用されます。各要素はテーブル内の行を定義するために使用され、複数属性テーブルの場合、通常は 1 つ以上の要素が含まれます。構文$(セレクター).append(co

PUT リクエストと Delete リクエストは Form フォームで使用され、get メソッドと post メソッドのみをサポートします。put メソッドを実装するには、次の 3 つの手順で実装できます: 1) SpringMVC で HiddenHttpMethodFilter を設定する 2) 上に投稿フォームを作成する3ページ目) 指定したリクエストメソッドを値として名前「_method」という入力項目を作成し、HiddenHttpMethodFilterクラスの「_method」の値を取得して新しいリクエストメソッドを取得します。番目のタグは thymeleaf テンプレートです。これは、従業員が

Go フレームワークの Panic は回復不可能な例外を発生させるために使用され、Recover は Panic から回復してクリーンアップ操作を実行するために使用されます。データベース接続の失敗などの例外を処理できるため、アプリケーションの安定性とユーザー エクスペリエンスが確保されます。
