13.5 Log file maintenance

When using MySQL with log files, you will from time to time want to remove/backup old log files and tell MySQL to start logging on new files. 9.2 The update log.

One a Linux (Redhat) installation, you can use the mysql-log-rotate script for this. If you installed MySQL from an RPM distribution, the script should have been installed automatically.

On other systems you must install a short script yourself that you start from cron to handle log files.

You can force MySQL to start using new log files by using mysqladmin flush-logs or by using the SQL command FLUSH LOGS. If you are using MySQL 3.21 you must use mysqladmin refresh.

The above command does the following:

  • If standard logging (--log) is used, closes and reopens the log file. (`mysql.log' as default).
  • If update logging (--log-update) is used, closes the update log and opens a new log file with a higher sequence number.

If you are using only an update log, you only have to flush the logs and then move away the old update log files to a backup. If you are using the normal logging, you can do something like:

shell> cd mysql-data-directory
shell> mv mysql.log mysql.old
shell> mysqladmin flush-tables

and then take a backup and remove `mysql.old'.