MySQLのMySQLの重要なパラメータのinnodb_flush_log_at_trx_commitとsync_binlog重要なパラメータのinnodb_flush_log_at_trx_commitとsync_binlog

MySQLの重要なパラメータのinnodb_flush_log_at_trx_commitとsync_binlog

 

innodb_flush_log_at_trx_commit

主制御InnoDBデータ・ログ・バッファは、それぞれディスク及びフラッシュ点、0,1,2三つの値のログファイルに書き込まれます。このパラメータは、ディスクに書き込まれたプロセスのREDOログを制御します。私たちは、InnoDBは、データが損失から回復できる保証するために、REDOログを頼る回避データ損失の問題に「控え書くログ」戦略を使用していることを知っています。したがって、InnoDBのREDOログの永続性は非常に重要です。このパラメータのデフォルト値は1

あなたはおおよそmysqlのログ手順を最初の必要性を知っている:
log_buff> mysqlの書き込み(書き込み)> LOG_FILE> OSリフレッシュ(フラッシュ)>ディスク

パラメータのinnodb_flush_log_at_trx_commit:
0(書き込みレイテンシ、リアルタイムブラシ):log_buff - 1秒ごと> LOG_FILE -リアルタイム>ディスク
1(実筆リアル):。log_buff -リアルタイム> LOG_FILE -リアルタイム]> [ディスク
2(リアルタイム筆遅延):log_buff -リアルタイム> LOG_FILE - 1秒ごと>ディスク

# 查询
select @@innodb_flush_log_at_trx_commit;

このパラメータの有効な値は0,1,2です。

0:トランザクションは、ないREDOログ・バッファにコミットされたディスクに書き込まれますが、実行のメインスレッドでInnoDBがディスクに毎秒フラッシュされます。MySQLのダウンタイムが発生するのであれば、あなたは、トランザクションの一部を失う可能性があります。

1:トランザクションのコミットは、REDOログ・バッファがディスクに書き込まれます、とすぐに更新すると(のfsync())。あなたは同期動作は、ハード・ディスクに永続保証実行できるようにオペレーティングシステムの「遅延書き込み」機能するので、その後、ちょうどオペレーティングシステムに書き込まれたバッファに磨くことに注意してください。

2:トランザクションのコミットは、ログバッファを再実行しますディスクに書き込まれますが、リフレッシュ動作の直後に、これだけのオペレーティングシステムのバッファに書き込まれません。この時点で、オペレーティングシステムのダウンタイムは、データの一部が失われる可能性があり、また、偶数同期せずに発生した場合。

あなたが見ることができるMySQLのパフォーマンスが大幅になりますので、一つだけは本当に、書き込みにディスクの速度が非常に遅いです、私たちは知っている、トランザクションの耐久性が、リフレッシュ動作のfsyncによる()が復帰後まで、ブロックされて保証することができます下落。あなたが失われたトランザクションを気にしない場合は,, 0と2は、より高い性能を達成することができます。

sync_binlog

このパラメータは、ディスクに書き込まれたプロセスのバイナリログを制御します。

このパラメータを0、1、Nの有効な値:

0:デフォルト。トランザクションがコミットされた後、バイナリログは、バッファディスクから書き込まれますが、オペレーティングシステムがダウン部分のバイナリログが失われる場合は、オペレーティング・システムのバッファではないリフレッシュ操作(fsyncを())が、今回の書き込みを行います。

1:トランザクションのコミット後、バイナリファイルがディスクに書き込まれ、オペレーティングシステムキャッシュせずにディスクへの同期書き込みの直後に、同等のリフレッシュ操作を実行します。

N:N回のリフレッシュ動作を実行するためのオペレーティング・システム上の各書き込みバッファ。

このパラメータは、データベースのパフォーマンスを向上させる1つの以上の値に設定されていますが、データ損失のリスクを伴うことになります。
バイナリログデータのリカバリに関連するファイルだけでなく、マスターとスレーブ間の最も一貫性を得るために望んでいる、いくつかのパフォーマンスの損失原因も、あなたはこのパラメータを1に設定する必要があり、それができます。

innodb_flush_log_at_trx_commit

主制御InnoDBデータ・ログ・バッファは、それぞれディスク及びフラッシュ点、0,1,2三つの値のログファイルに書き込まれます。このパラメータは、ディスクに書き込まれたプロセスのREDOログを制御します。私たちは、InnoDBは、データが損失から回復できる保証するために、REDOログを頼る回避データ損失の問題に「控え書くログ」戦略を使用していることを知っています。したがって、InnoDBのREDOログの永続性は非常に重要です。このパラメータのデフォルト値は1

あなたはおおよそmysqlのログ手順を最初の必要性を知っている:
log_buff> mysqlの書き込み(書き込み)> LOG_FILE> OSリフレッシュ(フラッシュ)>ディスク

パラメータのinnodb_flush_log_at_trx_commit:
0(書き込みレイテンシ、リアルタイムブラシ):log_buff - 1秒ごと> LOG_FILE -リアルタイム>ディスク
1(実筆リアル):。log_buff -リアルタイム> LOG_FILE -リアルタイム]> [ディスク
2(リアルタイム筆遅延):log_buff -リアルタイム> LOG_FILE - 1秒ごと>ディスク

# 查询
select @@innodb_flush_log_at_trx_commit;

このパラメータの有効な値は0,1,2です。

0:トランザクションは、ないREDOログ・バッファにコミットされたディスクに書き込まれますが、実行のメインスレッドでInnoDBがディスクに毎秒フラッシュされます。MySQLのダウンタイムが発生するのであれば、あなたは、トランザクションの一部を失う可能性があります。

1:トランザクションのコミットは、REDOログ・バッファがディスクに書き込まれます、とすぐに更新すると(のfsync())。あなたは同期動作は、ハード・ディスクに永続保証実行できるようにオペレーティングシステムの「遅延書き込み」機能するので、その後、ちょうどオペレーティングシステムに書き込まれたバッファに磨くことに注意してください。

2:トランザクションのコミットは、ログバッファを再実行しますディスクに書き込まれますが、リフレッシュ動作の直後に、これだけのオペレーティングシステムのバッファに書き込まれません。この時点で、オペレーティングシステムのダウンタイムは、データの一部が失われる可能性があり、また、偶数同期せずに発生した場合。

あなたが見ることができるMySQLのパフォーマンスが大幅になりますので、一つだけは本当に、書き込みにディスクの速度が非常に遅いです、私たちは知っている、トランザクションの耐久性が、リフレッシュ動作のfsyncによる()が復帰後まで、ブロックされて保証することができます下落。あなたが失われたトランザクションを気にしない場合は,, 0と2は、より高い性能を達成することができます。

sync_binlog

このパラメータは、ディスクに書き込まれたプロセスのバイナリログを制御します。

このパラメータを0、1、Nの有効な値:

0:デフォルト。トランザクションがコミットされた後、バイナリログは、バッファディスクから書き込まれますが、オペレーティングシステムがダウン部分のバイナリログが失われる場合は、オペレーティング・システムのバッファではないリフレッシュ操作(fsyncを())が、今回の書き込みを行います。

1:トランザクションのコミット後、バイナリファイルがディスクに書き込まれ、オペレーティングシステムキャッシュせずにディスクへの同期書き込みの直後に、同等のリフレッシュ操作を実行します。

N:N回のリフレッシュ動作を実行するためのオペレーティング・システム上の各書き込みバッファ。

このパラメータは、データベースのパフォーマンスを向上させる1つの以上の値に設定されていますが、データ損失のリスクを伴うことになります。
バイナリログデータのリカバリに関連するファイルだけでなく、マスターとスレーブ間の最も一貫性を得るために望んでいる、いくつかのパフォーマンスの損失原因も、あなたはこのパラメータを1に設定する必要があり、それができます。

おすすめ

転載: www.cnblogs.com/leku_cc/p/12508725.html