ホームページ  >  記事  >  データベース  >  Mysqlバイナリログからデータベースデータを復元する方法を詳しく解説(画像とテキスト)

Mysqlバイナリログからデータベースデータを復元する方法を詳しく解説(画像とテキスト)

黄舟
黄舟オリジナル
2017-04-18 09:20:561081ブラウズ

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

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

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

操作手順:

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

4.

データを削除します。6. binlog 機能と基本的な操作を有効にします。 Mysql

の場合、まず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

这时我们在看后台,发现刚才删除的三篇文章都已恢复回来了,从而到达我们期望的目的。

 总结:

本文和大家分享了如何通过mysql的二进制日志文件恢复数据。但还是要提醒大家,在平时要做好网站数据备份,现在的一些主流CMS建站系统都会内置数据库备份功能,比如这里我用的蝉知系统,数据是网站的命脉,做好数据备份以避免后期不必要的麻烦或损失。

以上がMysqlバイナリログからデータベースデータを復元する方法を詳しく解説(画像とテキスト)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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