ホームページ  >  記事  >  データベース  >  Mysql バイナリ ログを通じてデータベース データを復元する方法を分析します (詳細なグラフィックとテキストの説明)

Mysql バイナリ ログを通じてデータベース データを復元する方法を分析します (詳細なグラフィックとテキストの説明)

怪我咯
怪我咯オリジナル
2017-04-30 10:25:231466ブラウズ

この記事では主にMysqlのバイナリログを介してデータベースデータを復元する方法を詳しく紹介します。興味のある方は詳細をご覧ください。

さまざまな理由や操作により、Web サイトのデータを誤って削除し、Web サイトのバックアップを作成しなかった結果、損失を被り、Web サイトの運営や収益に悪影響を与える Web サイト管理者がよくいます。そこでこの記事では、Mysql の 2 番目のメカニズム ログ (binlog) を通じてデータを復元する方法を紹介します。

オペレーティングシステム: CentOS 6.5

操作手順:

1. サイトにデータを追加します。 binlog ログ;

5. binlog ログの内容の分析

1. Mysql の binlog 関数を使用する必要があります。 Mysql 設定ファイルでこの機能を有効にします。操作は非常に簡単です。 Mysql 設定ファイルを見つけて、そのファイルに「log_bin = mysql-bin」という行を追加します。実際、私がインストールしたさまざまな Mysql 環境では、通常、この機能はデフォルトでオンになっています。

binlog機能をオンにすると、mysqlデータベースディレクトリにmysql-bin.000001、mysql-bin.000002などのファイルが作成されます。これはmysqlのバイナリログファイルです。 mysql が起動されるたび、またはログが手動で更新されるたびに、新しいバイナリ ログ ファイルが作成されます。

まず、mysql コマンドラインで「show master logs」コマンドを使用して、既存の binlog ファイルを表示します。

2. サイトにデータを追加します

Web サイトの背景記事モジュールに、いくつかのテスト データを追加しました。

3. binlog ログを更新します

以前、mysql の binlog ファイルは mysql-bin.000001 であり、Web サイトのバックグラウンドで 3 つの記事がデータベースに追加されました。次に、binlog ログを更新すると、次のように新しい mysql-bin.000002 ファイルが生成されます:

flush logs;

show master logs;

4. ここで、追加した 3 つの記事をすべて削除します。 。

5. バイナリログの内容分析

Mysql のバイナリログファイルには、先ほどの削除操作などの mysql 操作が記録されます。ログファイルの具体的な内容を見てみましょう。

mysql の mysqlbinlog コマンドを使用します:

 mysqlbinlog /data/mysql/mysql-bin.000002

注: ローカルの mysqlbinlog は binlog 設定のdefault-character-set=utf8 を認識できないため、ここでは「--no-defaults」をコマンド それは機能し、誰もがそこから学ぶことができます。

以下はログ内容の部分的なスクリーンショットです:

6. 指定されたデータをリカバリします

mysql の binlog ログを通じてデータをリカバリする場合、特定の時点までのリカバリを指定できます。これはサーバーのスナップショット管理に似ています。そこで、削除したばかりの記事を復元したいと思います。削除前の時点を見つけて、その時点に復元します。

mysqlbinlog コマンドの使用方法については、次のように mysqlbinlog ヘルプ コマンドを通じて確認できます。

mysqlbinlog –no-defaults –help

ヘルプドキュメントに示されているように、時刻を指定するか、指定することでデータを復元できます。ここでは、指定された時間を例として説明します。

次のように、ログ ファイル mysql-bin.000001 を確認してみましょう:

mysqlbinlog -no--defaults /data/mysql/mysql-bin.000001

前の手順で、データを削除する前に mysql-bin.000002 ログ ファイルが生成されたことがわかっています。上の写真で見つけたこの時点に戻るだけです。

コマンドは次のとおりです:

コードをコピーします コードは次のとおりです:

mysqlbinlog –no-defaults –stop-datetime='2017-04-11 09:48:48'/ data/mysql/mysql-bin .000001 |mysql –uroot –p123456

このとき、背景を調べていたところ、削除したばかりの 3 つの記事が復元されており、目的の目標を達成していることがわかりました。

概要:

この記事では、mysql のバイナリ ログ ファイルからデータを回復する方法を説明します。しかし、私がここで使用している Chanzhi システムなど、現在主流の CMS ウェブサイト構築システムの一部には、データが生命線であるということを皆さんに思い出していただきたいと思います。後々の不要なトラブルや損失を避けるために、データのバックアップをしっかりと行ってください。

以上がMysql バイナリ ログを通じてデータベース データを復元する方法を分析します (詳細なグラフィックとテキストの説明)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。