クライアントはPHPを使用してMySQLに接続しています。PHPスクリプトとMySQLデータベースは2つの異なるLinuxサーバーにあります。彼は、データベース接続が行われていると不満を述べました。ドロップまたはタイムアウトして、確認するように求められました。
MySQLに、ドロップまたはタイムアウトした接続の数と数を表示できる場所はありますか?遅いクエリログを調べましたが、何も表示されませんでした。
このドロップ/タイムアウトしたデータベース接続の問題を診断する方法に関する提案はありますか?
ありがとう
編集:
遅いクエリログはmy.cnf
で有効になっています:
log-slow-queries=/var/log/mysql-slow-queries.log
そして私がするとき
mysql> show global status;
私が得た:
| Slow_queries | 11402347 |
そのため、遅いクエリがたくさんあります。ただし、ファイル/var/log/mysql-slow-queries.logは存在しません。何故ですか?
低速クエリログファイルが存在し、mysqlユーザーが書き込み可能である必要があります。標準のmysqlインストールでは、次のようにします。
touch /var/log/mysql-slow-queries.log
chown mysql.mysql /var/log/mysql-slow-queries.log
そして、mysqlを再起動します。
十分な権限を持つ特定のディレクトリ(つまり、/ var/log/mysql/slow.log)に低速ログファイルを設定すると、MySQLはそれ自体でログファイルを作成します。
mkdir /var/log/mysql
chown mysql.mysql /var/log/mysql
遅いクエリログを有効にしましたか?それは空ですか、それとも機能しますか?
通常、遅いクエリログはパフォーマンス上の理由でオフになっており、必要に応じてデバッグできるようにすることができます。
新しいMySQLWorkbenchの使用を試みることができます。ワークベンチ内のMySQLAdministratorを使用すると、ツールで開いているすべての接続をリストで確認できます。接続を確認し、サーバーを短時間管理および監視することは非常に役立ちます。
他の方法は、MySQLステートメントを取ることです:
プロセスリストを表示します。
これにより、実行中のクエリが表示され、何がハングしているのかを確認できます。
たぶん私はあなたを助けることができます。遅いクエリログについては、MySQLサイトまたは ここ で詳細情報を取得します
mysqladmin extended-status|head
もここで役立ちます。