2 つのパラメータ innodb_flush_log_at_trx_commit と sync_binlog は、MySQL ディスク書き込み戦略とデータ セキュリティを制御するための重要なパラメータです。 「innodb_flush_log_at_trx_commit」のような変数を表示します。innodb_flush_log_at_trx_commit:0: MySQL の main_thread は、ストレージ エンジン ログ バッファー内の redo ログを 1 秒ごとにログ ファイルに書き込み、ファイル システムの同期操作を呼び出してログをディスクに更新します。 1: トランザクションがコミットされるたびに、ストレージ エンジン ログ バッファー内の再実行ログがログ ファイルに書き込まれ、ファイル システムの同期操作が呼び出されて、ログがディスクに更新されます。 2: トランザクションがコミットされるたびに、ストレージ エンジン ログ バッファー内の REDO ログがログ ファイルに書き込まれ、ストレージ エンジンの main_thread によって 1 秒ごとにログがディスクにフラッシュされます。 「sync_binlog」のような変数を表示します。同期バイナリログ:0: ストレージ エンジンは binlog をディスクにフラッシュせず、オペレーティング システムのファイル システムがキャッシュのフラッシュを制御します。 1: トランザクションが送信されるたびに、ストレージ エンジンはファイル システムの同期操作を呼び出してキャッシュを更新します。この方法は最も安全ですが、パフォーマンスは低くなります。 n: 送信されたログ グループ = n の場合、ストレージ エンジンはファイル システムの同期操作を呼び出してキャッシュを更新します。 sync_binlog=0 または sync_binlog が 1 より大きい場合、トランザクションはコミットされていますが、まだディスクに同期されていません。したがって、停電やオペレーティング システムのクラッシュが発生した場合、バイナリ ログにまだ同期されていないトランザクションがサーバーによってコミットされている可能性があります。したがって、これらのトランザクションはバイナリ ログで失われるため、定期的なリカバリを実行することはできません。 innodb_flush_log_at_trx_commit と sync_binlog の両方が 1 の場合に最も安全です。mysqld サービスまたはサーバー ホストがクラッシュした場合、バイナリ ログでは最大で 1 つのステートメントまたは 1 つのトランザクションが失われる可能性があります。ただし、両方を同時に実現することはできません。1、1 を 2 回実行すると、IO 操作が頻繁に発生するため、このモードは最も遅い方法でもあります。 実際の使用においては、パフォーマンスとセキュリティに対するビジネスニーズを考慮し、2 つのパラメータの設定を総合的に検討する必要があります。上の写真は、当社のオンライン マシンのパラメータを示しています。 以上がMySQLのinnodb_flush_log_at_trx_commitとsync_binlogの見分け方の詳細です。MySQLのinnodb_flush_log_at_trx_commitとsync_binlogの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
<<: Nginx の break と last の違いの詳細な分析
この記事では、MySQL ユーザー管理操作について説明します。ご参考までに、詳細は以下の通りです。こ...
手順: 1. MySQLデータベースをインストールする1. MySQL-5.6.17-winx64....
私はtengineを使用しています。インストールディレクトリは/usr/local/tengineで...
プロジェクトのテーマがすべての人の美的感覚を満足できないこともあります。このとき、スキン変更機能は非...
マウスの位置をマッピングしたり、ドラッグ効果を実装したりすることは、 JavaScriptで行うこと...
目次環境CentOSをインストールするyum 国内ミラーソースを構成するサードパーティの依存関係をイ...
サイト上のページを表示するためのリクエストがサーバーに送信されると(たとえば、ユーザーがブラウザでペ...
目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...
ページを作成するときに、記述した CSS スタイルが有効にならないことがあります。この現象にはさまざ...
HTML を初めて使用する多くの人にとって、テーブル <table> は最もよく使用され...
導入Kubernetes を使い始めるのに丸一日を費やしたことはありませんか?最近登場したいくつかの...
プロジェクトでは、現在地の緯度経度を取得したり、場所を検索して緯度経度情報を取得したりする必要があり...
目次方法1: set: データ型ではなくデータ構造であり、メンバーは一意である方法2: オブジェクト...
table タグと td タグに境界線を追加すると、デフォルトでは次のように二重境界線が使用されます...
この記事では、星空アニメーションを実現するための高度な CSS3 LESS のサンプルコードを次のよ...