ホームページ >データベース >mysql チュートリアル >mysqlのバイナリログとは何ですか

mysqlのバイナリログとは何ですか

藏色散人
藏色散人オリジナル
2023-04-03 15:31:251788ブラウズ

mysql binlog は「バイナリ ログ」です。binlog は、すべてのデータベース テーブル構造の変更とテーブル データの変更を記録するバイナリ ログですが、SELECT や SHOW などの操作は、データベースに影響を与えないため、記録されません。データ自体を修正してください。

mysqlのバイナリログとは何ですか

このチュートリアルの動作環境: Windows 10 システム、mysql8 バージョン、Dell G3 コンピューター。

mysql binlog とは何ですか?

binlog の概要:

binlog (バイナリ ログ)

binlog すべてのデータベース テーブル構造の変更 (CREATE、ALTER TABLE など) とテーブル データの変更 (INSERT、UPDATE、DELETE など) を記録するバイナリ ログです。

Binlog は、SELECT や SHOW などの操作を記録しません。これらの操作はデータ自体を変更しないためです。しかし、一般的なログをクエリすることで、MySQL によって実行されたすべてのステートメントを表示できます。

バイナリ ログには 2 種類のファイルが含まれています。バイナリ ログ インデックス ファイル (ファイル名のサフィックスは .index) はすべてのバイナリ ファイルの記録に使用され、バイナリ ログ ファイル (ファイル名のサフィックスは .index) が使用されます。 .00000*) は、データベースのすべての DDL と DML (データ クエリ ステートメントを除く) ステートメント イベントを記録します。

トランザクション ログの概要:

Innodb トランザクション ログには、REDO ログと UNDO ログが含まれます。

UNDO ログとは、トランザクションが開始される前に、データを操作する前に、操作するデータをある場所にバックアップすることを指します。

REDO ログとは、トランザクションで操作されたすべてのデータを指します。最新のデータ 場所に移動

トランザクション ログの目的: インスタンスまたはメディアに障害が発生した場合、トランザクション ログ ファイルが役に立ちます。

1. REDO ログは、トランザクションのコミット時に書き込まれませんが、トランザクションの実行中に REDO への書き込みが開始されます。特定の配置戦略を構成できます。障害時にダーティページがディスクに書き込まれることを防ぐため、mysqlサービスの再起動時にREDOログに基づいてREDOを実行し、ディスクに書き込まれていないトランザクションデータを永続化する機能を実現します。 RedoLog は、トランザクションの耐久性を実現する製品です。

2.undo ログは、行レコードを特定のバージョンにロールバックするために使用されます。トランザクションが送信される前に、Undo は送信前のバージョン データを保存します。Undo のデータは、他の同時トランザクションによるスナップショット読み取り用の古いバージョンのデータのスナップショットとして使用できます。これは、トランザクションのアトミック性を実現する製品であり、Mysql innodb ストレージ エンジンでマルチバージョン同時実行制御を実装するために使用されます

[関連する推奨事項: mysql ビデオ チュートリアル ]

以上がmysqlのバイナリログとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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