MySQLデータベースのプロファイルを作成するにはどうすればよいですか。データベースに対して実行されているすべてのSQLを確認したいと思います。
私はあなたがこれを行うことができることを知っています:
set profiling=1;
SELECT * FROM messages WHERE fromaddress='xxx';
SHOW PROFILES;
しかし、これはコマンドラインで実行されるものにのみ当てはまるようです。Webサイトを実行した結果を確認したいと思います。
クエリログ -が必要ですが、重い本番サーバーでこれを行うのは明らかに賢明ではありません。
それはUbuntuで私のために働いた。
MySQL構成ファイルを見つけて開きます。通常は/etc/mysql/my.cnf
Ubuntuでは。 「ロギングとレプリケーション」というセクションを探します
# * 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
クエリログをリアルタイムで解析するだけです。 Linuxの場合、tail-fを使用してログをライブで確認できます
また、あなたはこれらの人からいくつかのフリーソフトウェアを試すことができます:
市販品があります
MySql Administratorにはいくつかの便利な組み込み機能(ログビューを含む)がありますが、ログの場合はデータベースと同じマシンで実行する必要があります