MYSQL ログとバックアップおよび復元の問題の詳細な説明

MYSQL ログとバックアップおよび復元の問題の詳細な説明

この記事では、参考までにMYSQLログとバックアップとリストアについて紹介します。具体的な内容は以下のとおりです。

1. エラーログ

データベースに障害が発生して使用できない場合は、まずログを確認してください。

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

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

ログ保存パスは次のコマンドで確認できます。

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

2. バイナリログ

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

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

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

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

1. バイナリログを記録するためのスイッチをオンにする

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

innodb_buffer_pool_size=107M

# ロググループ内の各ログファイルのサイズ。合計サイズを設定する必要があります
ログファイルの数をバッファプールサイズの約25%~100%に抑えることで、
# ログファイルの上書き時に不要なバッファプールのフラッシュアクティビティが発生します。ただし、
# ログファイルのサイズが大きいほど、
# 回復プロセス。
innodb_log_file_size=54M

# InnoDBカーネル内で許可されるスレッド数。最適値は
# アプリケーション、ハードウェア、OSに大きく依存します
# スケジューラのプロパティ。値が高すぎると、スレッドのスラッシングが発生する可能性があります。
innodb_thread_concurrency=10

ログ bin = mysql bin

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

2. BINLOGの表示方法

バイナリファイルなので、エラーログのように直接見ることはできません。MySQLが提供するツール、mysqlbinlogを使用する必要があります。

3. 時間別にBINLOGを表示する

時間でクエリを実行するときに注意すべきことの 1 つは、start-datetime は閉じた間隔であり、stop-datetime は開いた間隔であるということです。したがって、1 日のログ全体をクエリする必要がある場合は、次のように定義する必要があります。
--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 【テーブル名】

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

mysqldump 【オプション】 --database db_name1 db_name2

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

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

ポート3306のデータベースインスタンスのデータベースwd_msgのテーブル構造とテーブルデータをcd.sqlファイルにエクスポートします。

cd.sql ファイルの内容は次のとおりです。

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

4. データ復旧

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

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

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

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • mysqldump のバックアップとリストア、および mysqldump のインポートとエクスポートのステートメントの詳細な説明
  • MySQL データベースをバックアップ/復元するための PHP コード
  • 推奨されるMySQLデータベースのバックアップと復元方法
  • MySQL データベースのバックアップと復元によく使用されるコマンドの概要
  • innobackupex と xtrabackup を使用して MySQL のビッグデータをバックアップおよび復元するチュートリアル
  • MYSQL バックアップとリストアの詳細な説明 (PHP 実装)
  • コマンドラインモードでMySQLデータベースをバックアップおよび復元するためのステートメントの概要
  • MySQLはコマンドを使用してデータベースをバックアップおよび復元します
  • MySQL ログファイルはどこにありますか? MySQL ログファイルの場所を変更する方法
  • MySQLはトレースログを表示して実行されたSQL文を追跡します。

<<:  Reactにおけるフックの一般的な使用法

>>:  Dockerコンテナの自動終了を停止する方法の詳細な説明

推薦する

CentOS 6.x のインストール時に発生するエラー「ディスク sda に BIOS RAID メタデータが含まれています」の解決方法

今日、CentOS6.2 をインストールしていたところ、ハード ドライブの検出段階を通過できませんで...

UbuntuはCUDAの複数のバージョンをインストールし、いつでも切り替えることができます

CUDA とは何かを紹介するのではなく、複数の CUDA バージョンの共存とリアルタイム切り替えをど...

Windows Server 2016 AD サーバーをセットアップする手順 (画像とテキスト)

導入: AD は Active Directory の略称で、中国語では Active Direct...

MySQLのCOUNT(*)のパフォーマンスについてお話しましょう

序文基本的に、職場のプログラマーは、count(*)、count(1)、または count(prim...

Centos7 に MySQL 8.0.23 をインストールする手順 (初心者レベル)

まず、MySQL とは何かを簡単に紹介します。簡単に言えば、データベースはデータを格納するための倉庫...

Vue+Websocketはチャット機能を実装するだけです

この記事では、チャット機能を簡単に実装するためのVue+Websocketの具体的なコードを参考まで...

高度なクローラー - JS 自動レンダリングのための Scrapy_splash コンポーネントの使用

目次1. scrapy_splash とは何ですか? 2. scrapy_splashの役割3. s...

モバイル適応型ウェブページ効果は、小さな表示ページの問題を解決します

仕事上、携帯電話に適応した Web ページ効果を作成する必要があります。ようやく完成しました。まずは...

JavaScriptはスライダーを介してWebページの色を変更することを実装します

みなさんこんにちは、今日はウェブフロントエンドのHTMLを見ていたら、inputタグのtype属性が...

Linux での sshd サービスとサービス管理コマンドの詳細な説明

sshd SSH は Secure Shell の略で、アプリケーション層のセキュリティ プロトコル...

Swiper.jsプラグインを使用すると、カルーセル画像を非常に簡単に実装できます。

Swiper は、携帯電話やタブレットなどのモバイル端末向けに設計された、純粋な JavaScri...

GolangでMySQLデータベースのバックアップを実装する方法

背景Navicat は、最高の MySQL 視覚化ツールです。ただし、ビューのインポートとエクスポー...

Linuxでディスク使用量を確認する方法

1. dfコマンドを使用してディスク全体の使用量を表示します。 df コマンドは、ハードディスクのマ...

MySQL ステートメントの概要

目次1. データベースの使用を選択2. 情報を表示する3. テーブルを作成する4. データを挿入する...

MySQL で制限を使用するとパフォーマンスに影響するのはなぜですか?

まず、MySQL のバージョンについて説明します。 mysql> バージョンを選択します();...