ホームページ  >  記事  >  データベース  >  MYSQL ログとバックアップと復元の詳細な説明

MYSQL ログとバックアップと復元の詳細な説明

小云云
小云云オリジナル
2018-01-06 14:19:231570ブラウズ

この記事では、主に MYSQL のログとバックアップと復元の問題について詳しく説明します。興味のある方は参考にしていただければ幸いです。

この記事では、参考のために MYSQL のログとバックアップと復元を共有します。具体的な内容は次のとおりです

1. エラー ログ

データベースに障害が発生した場合は、すぐにログを確認してください。可能な限り

1. サーバーの起動時とシャットダウン時の情報

2. サーバー動作中のエラー情報

コマンドを使用して表示できます:

ログファイルの命名形式: host_name.err

2. バイナリ ログ

は BINLOG とも呼ばれ、クエリ ステートメントを除くすべての DDL ステートメントと DML ステートメントを記録します。このログは非常に重要であるだけでなく、開発者としてもこのログが大好きです。その定義からわかるように、このログにはテーブル構造とテーブル データを変更するすべてのイベントが記録されるため、データが誤って削除されたり、他の理由で失われた場合でも、このログを通じてデータを回復できます。かっこいいと思いませんか?

ログの保存パス: エラーログと同じディレクトリ内

命名方法: デフォルトの方法は、ホスト名-bin + 番号です

Mysql は、ログを開始するかフラッシュするたびに新しい binlog を生成し、番号は次から増加します1. 1 つのログが一定のサイズに達すると、新しいファイルも生成されます。

1. binlog を記録するスイッチをオンにします

myslq のインストールディレクトリに、設定ファイルがあります: my.ini


innodb_buffer_pool_size=107M

# Size of each log file in a log group. You should set the combined size
# of log files to about 25%-100% of your buffer pool size to avoid
# unneeded buffer pool flush activity on log file overwrite. However,
# note that a larger logfile size will increase the time needed for the
# recovery process.
innodb_log_file_size=54M

# Number of threads allowed inside the InnoDB kernel. The optimal value
# depends highly on the application, hardware as well as the OS
# scheduler properties. A too high value may lead to thread thrashing.
innodb_thread_concurrency=10

log-bin=mysql-bin

ここで、log-bin はスイッチがオンになっていることを意味します。 on、mysql-bin はログの名前のプレフィックスです。

2. BINLOGの見方

バイナリファイルなので、エラーログのように直接見ることはできません: mysqlbinlog

3. 時間による BINLOG の表示

時間でクエリを実行するときに注意すべき点は、start-datetime は閉じた間隔であり、stop-datetime は開いた間隔であることです。終日のログの場合は、次のように定義する必要があります:

--start-datetime="2017/07/12 00:00:00" --stop-datetime="2017/07/13 00:00:00":このクエリの時間範囲は 7/12 00:00:00 - 7/12 24:59:59 です


3. データのバックアップ

データのバックアップは、実際には msyql が提供するツール mysqldump を使用してデータをバックアップします。指定されたディレクトリ内の指定されたファイルにコピーされます。

1. 指定したデータベースまたはデータベース内のいくつかのテーブルをバックアップします

mysqldump [オプション] db_name [table_names]

2. 1 つ以上の指定したデータベースをバックアップします

mysqldump [オプション] --database db_name1 db_name2

3すべてのデータベースをバックアップします

mysqldump [オプション] -all -databases

データベース インスタンスのデータベース wd_msg のテーブル構造とテーブル データを、ポート 3306 でファイル cd.sql

cd にエクスポートします。 SQL ファイルの内容は次のとおりです。

このファイルには、クエリ関連の操作を除く DML ステートメントと DDL ステートメントが記録されます。データの復元中、これらのステートメントを 1 つずつ実行してデータの復元を完了できます。

4. データの復元

テーブルを削除し、エクスポートしたデータを再インポートします:

次のシナリオは、同じサーバー上にポート 3307 を持つ別の mysql インスタンスを復元することです。

Mysql のバックアップと復元には、さまざまなシナリオに応じてさまざまなオプションがあります。これは、後で詳しく紹介する記事で紹介される概念の 1 つにすぎません。

関連する推奨事項:

MySQL ログ システムの詳細を説明するサンプル コードの共有


mysqlログリカバリデータメソッドの紹介

MySQLログ設定の最適化

以上がMYSQL ログとバックアップと復元の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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