Typical log rotation scripts won't work because when the file is rotated the MySQL server won't recreate the file or log to a new file even if you create it by hand.
Last week I thought of a solution that seems to be working well. I realized that I could leave logging turned on but have a nightly script that simply truncated the file with this command:
echo '' > /var/log/mysql.log
This will reduce the size of the file to zero bytes and at the same time MySQL will continue to log to the file without requiring a restart.
But this method doesn't allow you to actually rotate the log file in case you wanted to keep it around. So after researching a bit, I found this:
shell>This would allow you to do an actual log rotation instead of just deleting the old file.mvhost_name.loghost_name-old.log
shell>mysqladmin flush-logs
shell>cphost_name-old.logbackup-directory
shell>rmhost_name-old.log
If you installed from RPM there is a log rotate script provided, and details can be found here:
http://dev.mysql.com/doc/refman/4.1/en/log-file-maintenance.html
