mysqlでslow_query_log出力

Pocket

JUGEMテーマ:コンピュータ

openソースDatabaseで超有名なMysql
世界シェアも断トツです。

超有名と言ってもDatabase。
クエリ内容次第では重くなります。

遅いクエリを改善するために、処理が指定した秒数以上かかっているクエリだけをログに出力できます。

※OSはCentOS5.1
※MySQLは5.0.22

今回はファイル出力の方法。
設定方法は2通りあります。
1.自動起動スクリプトに直書き
/etc/init.d/mysql

mysqld_safeを起動させている行に↓を追加
–log-slow-queries=/var/lib/mysql/mysql/slow_query.log

結果的にこうなります↓
$bindir/mysqld_safe –datadir=$datadir –pid-file=$server_pid_file $other_args –log-slow-queries=/var/lib/mysql/mysql/slow_query.log >/dev/null 2>&1 &

2.定義ファイルに出力指定
/etc/my.cnf

この中の[mysqld]に↓を追加
log_slow_queries = /var/lib/mysql/mysql/slow_query.log

※my.cnfのdatadirで指定したディレクトリ以外では出力されませんのでご注意を!

秒数指定は↓のパラメータで調整。
long_query_time = 1

ただ、一方的に出力され続けるので、実際の運用では、logrotateさせておいたほうが、後で見やすいかもです。

未分類IT,on,SQL,the

Posted by wpmaster