Adjust the mysql-log-rotate script in several ways: * Use the correct log file pathname for Red Hat installations. * Enable creation of the log file by logrotate (needed since /var/log/ isn't writable by mysql user); and set the same 640 permissions we normally use. * Comment out the actual rotation commands, so that user must edit the file to enable rotation. This is unfortunate, but the fact that the script will probably fail without manual configuration (to set a root password) means that we can't really have it turned on by default. Fortunately, in most configurations the log file is low-volume and so rotation is not critical functionality. See discussions at RH bugs 799735, 547007 --- support-files/mysql-log-rotate.sh | 44 ++++++++++++++++++++------------------- 1 files changed, 23 insertions(+), 21 deletions(-) diff --git a/support-files/mysql-log-rotate.sh b/support-files/mysql-log-rotate.sh index 5d1b30b..425c591 100644 --- a/support-files/mysql-log-rotate.sh +++ b/support-files/mysql-log-rotate.sh @@ -1,9 +1,9 @@ # This logname can be set in /etc/my.cnf -# by setting the variable "err-log" -# in the [safe_mysqld] section as follows: +# by setting the variable "log-error" +# in the [mysqld_safe] section as follows: # -# [safe_mysqld] -# err-log=@localstatedir@/mysqld.log +# [mysqld_safe] +# log-error=@LOG_LOCATION@ # # If the root user has a password you have to create a # /root/.my.cnf configuration file with the following @@ -18,20 +18,22 @@ # ATTENTION: This /root/.my.cnf should be readable ONLY # for root ! -@localstatedir@/mysqld.log { - # create 600 mysql mysql - notifempty - daily - rotate 3 - missingok - compress - postrotate - # just if mysqld is really running - if test -x @bindir@/mysqladmin && \ - @bindir@/mysqladmin ping &>/dev/null - then - @bindir@/mysqladmin --local flush-error-log \ - flush-engine-log flush-general-log flush-slow-log - fi - endscript -} +# Then, un-comment the following lines to enable rotation of mysql's log file: + +#@LOG_LOCATION@ { +# # create 600 mysql mysql +# notifempty +# daily +# rotate 3 +# missingok +# compress +# postrotate +# # just if mysqld is really running +# if test -x @bindir@/mysqladmin && \ +# @bindir@/mysqladmin ping &>/dev/null +# then +# @bindir@/mysqladmin --local flush-error-log \ +# flush-engine-log flush-general-log flush-slow-log +# fi +# endscript +#} -- 1.9.1