データベースにデータを保存するために使用されるファイルはデータ ファイルと呼ばれ、ログ ファイルはログ ファイルと呼ばれます。また、それぞれの読み取りと書き込みがディスクに直接アクセスすると、パフォーマンスが非常に悪くなるため、データベースにはキャッシュがあり、データ キャッシュはデータ バッファ、ログ キャッシュはログ バッファです。 SQL実行順序update table set c=c+1 where id = 2 などの更新ステートメントを実行する場合、実行順序は次のようになります。
ビンログ何ですかバイナリログはアーカイブログまたはバイナリログとも呼ばれます。MySQL Serverレベルに属し、データベースのテーブル構造とテーブルデータの変更を記録するために使用されます。簡単に言えば、挿入、削除、更新など、変更された各SQLステートメント(もちろんSQLだけでなく、トランザクションID、実行時間など)を保存するものと言えます。 いつ生産されるのかトランザクションがコミットされると、トランザクション内のすべての SQL ステートメントが特定の形式で一度に bin ログに記録されます。 何の役に立つんだ主な機能は2つあります: マスタースレーブレプリケーションとデータリカバリ
ディスクはいつドロップされますか?innodb_flush_log_at_trx_commit と sync_binlog の区別 バイナリログはsync_binlogパラメータに依存します
ファイルログモードビンログには、行、ステートメント、混合の3つのファイル記録モードがあります。
利点: 各データ行の変更内容を明確に記録し、マスター スレーブ データの一貫性を完全に保証できます。欠点: テーブルの変更などのバッチ操作中に大量のログが生成されます。
利点: ログデータの量が少なく、ディスクIOが削減され、ストレージとリカバリ速度が向上します。欠点: SQL文に**now()**などの関数が含まれている場合など、マスターとスレーブの不整合が発生する場合があります。
再実行ログ何ですかREDO ログは、Redo ログと呼ばれます。これは、InnoDB ストレージ エンジン レイヤーのログです。特定の行または複数の行がどのように変更されたかではなく、物理ページの変更情報を記録します。 いつ生産されるのかトランザクションが開始されると、REDO ログが書き込まれます。 REDO ログは、トランザクションがコミットされたときにはディスクに書き込まれませんが、トランザクションの実行中にディスクに書き込まれます。 何の役に立つんだデータの回復に使用できます。トランザクション開始後にREDOログがディスクに書き込まれ、シーケンシャルIOなので書き込み速度が速いです。サーバーの電源が突然失われた場合、InnoDB エンジンは REDO ログを使用してデータベースを電源障害前の時点に復元し、データの整合性を確保します。 ディスクはいつドロップされますか? InnoDB は、まずログをログ バッファーに書き込み、次にログをログ バッファーから OS バッファーにフラッシュし、最後にファイル システムの fsync 関数を呼び出してログをディスクにフラッシュします。 REDOログの書き込みタイミングは、パラメータ
MySQL がクラッシュしてもデータが失われないため、一般的な値は 2 です。サーバー全体がクラッシュした場合にのみ、1 秒分のデータが失われます。 bin ログと redo ログ上記の紹介を読んだ後、bin ログと redo ログは非常に似ていると感じました。どちらもデータの変更を記録し、リカバリに使用できます。実際のところ、両者の間にはまだ明らかな違いが残っています。
データベース全体が削除された場合、REDO ログを通じて復元できますか? いいえ! REDO ログはトランザクションのデータ変更を保存することに重点を置いているため、メモリ内のデータがディスクにフラッシュされると、REDO ログ内のデータには実際には参照値がなくなります。さらに、REDO ログは履歴データを上書きするため、それを通じてすべてのデータを回復することは不可能です。 元に戻すログMySQLトランザクションログの詳細な分析 何ですかUNDO ログはロールバック ログと呼ばれ、InnoDB ストレージ エンジン レイヤーに属します。データの各行を記録する論理ログです。データを変更すると、元に戻すログが生成されます。データが挿入されると、元に戻すログには対応する削除ログが記録され、その逆も同様であると考えられます。 いつ生産されるのかトランザクションを開始する前に、現在のバージョンのUNDOログを生成します。 何の役に立つんだ主な機能: ロールバックとマルチバージョン同時実行制御 (MVCC) を提供する
以上がMySQLログ関連知識のまとめの詳しい内容です。MySQLログについてさらに詳しく知りたい方は、123WORDPRESS.COMの他の関連記事もぜひご覧ください! 以下もご興味があるかもしれません:
|
<<: Nginx+tomcat ロードバランシングクラスタの実装方法
>>: ウェブページ HTML 順序付きリスト ol と順序なしリスト ul
mysql 行から列へ、列から行へ難しい文章ではないので、詳しく説明はしません。文章を読むときは、一...
Docker SwarmについてDocker Swarm は次の 2 つの部分で構成されます。 D...
タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えはjsやjqを使って実装され...
今日は何もすることがなかったので、いくつかのツール(オンラインとクライアント)、よく使用する URL...
目次要件: 進行中のアクティビティ データを照会する次のSQLクエリは、上記の4つの要件を満たし、タ...
/etc/fstabパーティション/ディスクを自動的にマウントし、マウントするパーティション/デバイ...
MySQL バッチ挿入の問題プロジェクトを開発しているときに、古いシステムの基本データを事前にインポ...
目次1. オブジェクト1.1 オブジェクトとは何ですか? 1.2 なぜオブジェクトが必要なのか? 2...
以前、動的フォームを記述しているときに落とし穴に遭遇しました。インデックスの添え字をキーとして使用す...
この記事では、セキュリティ、使用方法、同時処理などを通じて、MySQL トランザクションとデータの一...
例: <html> <ヘッド> <スタイル タイプ="tex...
目次JavaScript のプライベート クラス フィールドとプライバシーの必要性JavaScrip...
例: VMware IOInsight は、VM のストレージ I/O 動作を理解するのに役立つツー...
MySQL トランザクション分離レベルを表示する mysql> '%isolation...
他の人のウェブページを保存して見たことがあると思いますが、特にdwで開くと、多くのウェブページに&l...