28

MySQL データベースのプロファイルを作成する方法を教えてください。データベースに対して実行されているすべての SQL を確認したいと考えています。

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

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

しかし、これはコマンドラインで実行されたものにのみ適用されるようです.Webサイトを実行した結果を見たいです.

4

5 に答える 5

6

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

于 2009-06-18T14:26:53.400 に答える
2

それはUbuntuでうまくいきました。

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

# * 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
于 2013-01-31T22:31:23.173 に答える
0

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

于 2009-06-18T14:29:51.880 に答える