MySQLのログをローテートします。
CentOS 5.5 を利用しています。
参考:http://dev.mysql.com/doc/refman/5.1/ja/log-file-maintenance.html
Linux環境でオフィシャルの rpm でインストールしていれば、mysql-log-rotate というスクリプトファイルが
インストールされているので、これを利用してみます。
mysqladmin コマンドから flush-logs アクションを実行するのにrootユーザーのパスワードの指定が
必要です。
$ locate mysql-log-rotate
/usr/share/mysql/mysql-log-rotate
logrotated から利用するので /etc/logrotate.d にコピーします。
# cp /usr/share/mysql/mysql-log-rotate /etc/logrotate.d/mysql
ログファイルのパスを設定します。
# vi /etc/logrotate.d/mysql
/var/lib/mysql/mysqld.log {
# create 600 mysql mysql
↓
/var/lib/mysql/mysql.log {
# create 600 mysql mysql
などに変更する。
/root/.my.cnf に mysql-log-rotate アクションを実行するために実行ユーザーとパスワードを設定します。
sudo vi /root/.my.cnf
[mysqladmin]
password = "password"
user= root
パーミッションを変更します。
chmod 600 /root/.my.cnf
0 件のコメント:
コメントを投稿