再生:MySQLのMySQLデータベース接続が自動的に引き起こさアイドル8時間切断自動切断接続の問題です

転送:https://www.cnblogs.com/ay-a/p/10520425.html

MySQLのアイドル接続が自動的に切断された問題は、8時間を引き起こしました

 

問題のI.説明

最近、通常、過去のデータが格納されていないなどのリアルタイムデータストレージを参照するには数回の日も通常の保存前に奇妙な問題MySQLデータベース、夜に過去のデータ、翌朝に遭遇しました。長い間、私は、問題を見つけられませんでした。過去のデータセットの変更が保存された、データが同じされていないされ、後に慎重に考え、それは長いMySQL接続を自動的に切断していないで、その結果、データベースへのデータの書き込みをしていません。そして、ビット長MySQLの有効なアイドル接続をBaiduの、8時間と言うの外観が自動的に切断されます。ああ、少しを感じ、それが理由であるべきです。

第二に、トラブルシューティング

MySQLのビューで見つかった情報によれば、2つのパラメータがあり、有効期間は、それぞれ、アイドル状態の接続を設定することができ、interactive_timeoutおよびwait_timeoutMySQLの構成ファイルで提供されてもよいです。これによると、調査を行うことができます。

  1. 使用show variables like '%timeout%';上の二つのパラメータの値を照会するコマンドを、チェックは28800(秒で、わずか8時間)です。
  2. MySQLは、構成ファイルを変更interactive_timeoutし、wait_timeoutその閉じ自動的に接続せずに使用して100です、100秒。
  3. MySQLが(アイドル状態の接続が切断されたことを保証するために)データベースにデータを挿入を開始するサービス、中間休止3分を再起動し、使用できるshow status like 'Threads%'接続の現在の数を表示するコマンドを、クエリ結果は、Threads_connected現在の接続の数です。
  4. 本当に再現に成功し、ストレージの問題にデータを見ていなかったと理由を見つける、mysqlのにデータを挿入続行。

第三に、この問題を解決するために

  1. コードデータ記憶部、切断して行うために再接続することが見つかったコードが、接続が問題に有効な部分書き込みであると判断を参照してください、何のチェックはありませんmysql_query、戻り値、データが時に何の障害ログ保存されません。
  2. チェック、自動的に切断し再接続、コードを変更しmysql_query、各データベース操作の結果が記録されているように、ログおよび戻り値を生成します。注意:MySQLのC / C ++ APIは、  mysql_query成功した操作のために0を返し、ゼロ以外の操作のために失敗しました。

問題のI.説明

最近、通常、過去のデータが格納されていないなどのリアルタイムデータストレージを参照するには数回の日も通常の保存前に奇妙な問題MySQLデータベース、夜に過去のデータ、翌朝に遭遇しました。長い間、私は、問題を見つけられませんでした。過去のデータセットの変更が保存された、データが同じされていないされ、後に慎重に考え、それは長いMySQL接続を自動的に切断していないで、その結果、データベースへのデータの書き込みをしていません。そして、ビット長MySQLの有効なアイドル接続をBaiduの、8時間と言うの外観が自動的に切断されます。ああ、少しを感じ、それが理由であるべきです。

第二に、トラブルシューティング

MySQLのビューで見つかった情報によれば、2つのパラメータがあり、有効期間は、それぞれ、アイドル状態の接続を設定することができ、interactive_timeoutおよびwait_timeoutMySQLの構成ファイルで提供されてもよいです。これによると、調査を行うことができます。

  1. 使用show variables like '%timeout%';上の二つのパラメータの値を照会するコマンドを、チェックは28800(秒で、わずか8時間)です。
  2. MySQLは、構成ファイルを変更interactive_timeoutし、wait_timeoutその閉じ自動的に接続せずに使用して100です、100秒。
  3. MySQLが(アイドル状態の接続が切断されたことを保証するために)データベースにデータを挿入を開始するサービス、中間休止3分を再起動し、使用できるshow status like 'Threads%'接続の現在の数を表示するコマンドを、クエリ結果は、Threads_connected現在の接続の数です。
  4. 本当に再現に成功し、ストレージの問題にデータを見ていなかったと理由を見つける、mysqlのにデータを挿入続行。

第三に、この問題を解決するために

  1. コードデータ記憶部、切断して行うために再接続することが見つかったコードが、接続が問題に有効な部分書き込みであると判断を参照してください、何のチェックはありませんmysql_query、戻り値、データが時に何の障害ログ保存されません。
  2. チェック、自動的に切断し再接続、コードを変更しmysql_query、各データベース操作の結果が記録されているように、ログおよび戻り値を生成します。注意:MySQLのC / C ++ APIは、  mysql_query成功した操作のために0を返し、ゼロ以外の操作のために失敗しました。

おすすめ

転載: www.cnblogs.com/yaohuimo/p/11525321.html