web-dev-qa-db-ja.com

MySQL接続がドロップまたはタイムアウトしたかどうかを確認するにはどうすればよいですか?

クライアントは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は存在しません。何故ですか?

2
Continuation

低速クエリログファイルが存在し、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
2
hdanniel

遅いクエリログを有効にしましたか?それは空ですか、それとも機能しますか?

通常、遅いクエリログはパフォーマンス上の理由でオフになっており、必要に応じてデバッグできるようにすることができます。

新しいMySQLWorkbenchの使用を試みることができます。ワークベンチ内のMySQLAdministratorを使用すると、ツールで開いているすべての接続をリストで確認できます。接続を確認し、サーバーを短時間管理および監視することは非常に役立ちます。

他の方法は、MySQLステートメントを取ることです:

プロセスリストを表示します。

これにより、実行中のクエリが表示され、何がハングしているのかを確認できます。

たぶん私はあなたを助けることができます。遅いクエリログについては、MySQLサイトまたは ここ で詳細情報を取得します

1
René Höhle

mysqladmin extended-status|headもここで役立ちます。

0
vnix27