# mysql -V mysql Ver 14.14 Distrib 5.1.69, for redhat-linux-gnu (x86_64) using readline 5.1 mkdir /var/log/mysql/ touch /var/log/mysql/error.log touch /var/log/mysql/query.log touch /var/log/mysql/slow.log chmod 755 /var/log/mysql/ chmod 666 /var/log/mysql/* chown -R mysql. /var/log/mysql/
my.cnf設定
vi /etc/my.cnf [mysqld] #query log log=/var/log/mysql/query.log #slow query log slow_query_log=ON slow_query_log_file=/var/log/mysql/slow.log long_query_time=0.5 [mysqld_safe] log-error=/var/log/mysql/error.log [mysqladmin] password = <*mysql password*> user= root
ログ出力オプション
vi /etc/rc.d/init.d/mysqld $exec --datadir="$datadir" --socket="$socketfile" \ ↓ $exec --log --datadir="$datadir" --socket="$socketfile" \
ローテートファイルの作成
vi /etc/logrotate.d/mysql-log-rotate /var/log/mysql/error.log { # create 600 mysql mysql notifempty daily rotate 3 missingok compress postrotate # just if mysqld is really running if test -x /usr/bin/mysqladmin && \ /usr/bin/mysqladmin ping &>/dev/null then /usr/bin/mysqladmin flush-logs fi endscript } /var/log/mysql/query.log { # create 600 mysql mysql notifempty daily rotate 3 missingok compress postrotate # just if mysqld is really running if test -x /usr/bin/mysqladmin && \ /usr/bin/mysqladmin ping &>/dev/null then /usr/bin/mysqladmin flush-logs fi endscript } /var/log/mysql/slow.log { # create 600 mysql mysql notifempty daily rotate 3 missingok compress postrotate # just if mysqld is really running if test -x /usr/bin/mysqladmin && \ /usr/bin/mysqladmin ping &>/dev/null then /usr/bin/mysqladmin flush-logs fi endscript }
参考:
http://ijo.cc/it/ja/server/mysql-log-rotate/