web-dev-qa-db-ja.com

MySQLのプロファイルを作成する方法

MySQLデータベースのプロファイルを作成するにはどうすればよいですか。データベースに対して実行されているすべてのSQLを確認したいと思います。

私はあなたがこれを行うことができることを知っています:

  • set profiling=1;
  • 遅いクエリを実行します(例:SELECT * FROM messages WHERE fromaddress='xxx';
  • SHOW PROFILES;

しかし、これはコマンドラインで実行されるものにのみ当てはまるようです。Webサイトを実行した結果を確認したいと思います。

26
Dan

クエリログ -が必要ですが、重い本番サーバーでこれを行うのは明らかに賢明ではありません。

6
Tom Ritter

それはUbuntuで私のために働いた。

MySQL構成ファイルを見つけて開きます。通常は/etc/mysql/my.cnfUbuntuでは。 「ロギングとレプリケーション」というセクションを探します

# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.

log = /var/log/mysql/mysql.log

またはmysqlの新しいバージョンでは、このコード行をコメントアウトします

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1
log_error                = /var/log/mysql/error.log

log変数のコメントを解除して、ロギングをオンにします。次のコマンドでMySQLを再起動します。

Sudo /etc/init.d/mysql restart

これで、クエリが受信されたときに監視を開始する準備が整いました。新しいターミナルを開き、このコマンドを実行してログファイルをスクロールし、必要に応じてパスを調整します。

tail -f /var/log/mysql/mysql.log
3
Matija

クエリログをリアルタイムで解析するだけです。 Linuxの場合、tail-fを使用してログをライブで確認できます

また、あなたはこれらの人からいくつかのフリーソフトウェアを試すことができます:

http://hackmysql.com/mysqlsla

1

市販品があります

http://www.webyog.com/en/

1
Haim Evgi

MySql Administratorにはいくつかの便利な組み込み機能(ログビューを含む)がありますが、ログの場合はデータベースと同じマシンで実行する必要があります

0
buddy