I don't recall ever losing a log.
Are you sure logrotate isn't renaming it?
Joel Fowler wrote:
> I agree that Red Hat has an issue with safe_mysqld and logrotate.
> However, in my opinion MySQL has a much more serious problem.
> In a logging system there shouldn't be any subtle ways to drop records
> let alone entire logs.
> Kill -HUP <mysqld.pid> is exactly that -- a very poor design leading to
> a big trap - one which Red Hat just happened to fall in.
>
> Joel Fowler
> ============================================
> At 08:36 AM 8/14/01 -0500, Gerald Clark wrote:
>
>> This really is not a MySQL issue, but a Red Hat issue.
>> Don't logrotate the MySQL bin logs.
>>
>> Joel Fowler wrote:
>>
>>> Environment: Red Hat 7.1
>>> mysqld 3.23.36-log
>>> /etc/my.cnf as follows:
>>> ================
>>> [mysqld]
>>> datadir=/var/lib/mysql
>>> socket=/var/lib/mysql/mysql.sock
>>> log-bin=/bu/mysql/online-log/iServ2
>>> log-bin-index=/bu/mysql/online-log/iServ2.index
>>> [mysql.server]
>>> user=mysql
>>> basedir=/var/lib
>>> [safe_mysqld]
>>> err-log=/var/log/mysqld.log
>>> pid-file=/var/run/mysqld/mysqld.pid
>>> /etc/logrotate.d/mysqld (as distributed) follows:
>>> =================================
>>> /var/log/mysqld.log {
>>> missingok
>>> create 0640 mysql mysql
>>> prerotate
>>> [ -e /var/lock/subsys/mysqld ] && \
>>> /bin/kill -HUP `/bin/cat /var/run/mysqld/mysqld.pid` ||
>>> /bin/true
>>> endscript
>>> postrotate
>>> [ -e /var/lock/subsys/mysqld ] && \
>>> /bin/kill -HUP `/bin/cat /var/run/mysqld/mysqld.pid` ||
>>> /bin/true
>>> endscript
>>> }
>>> Problem Synopsis:
>>> ==============
>>> 1. /etc/logrotate.d/mysql executes a "kill -HUP <mysqld.pid>" during
>>> pre and postrotate operations.
>>> 2. -HUP causes mysqld to discard all existing bin-logs (DISASTER) and
>>> start a new one.
>>> 3. This destroys recovery strategies built on bin-logs.
>>> It also (as far as I can tell) will cause replication to loose
>>> logs and integrity.
>>> Note: This is a pretty big hole !!!
>>> To Simulate:
>>> =========
>>> 1. Configure bin-log(s)
>>> 2. List bin-log(s)
>>> 3. kill -HUP <mysqld.pid>
>>> 4. Bin-log(s) from 2. will have been purged and a new log started (as
>>> if "reset master" was performed).
>>> Note: For recovery and replication to work correctly existing
>>> bin-log(s) must be left in tact.
>>> Any help will be appreciated.
>>> Please advise,
>>> Joel Fowler
>>>
>>> ---------------------------------------------------------------------
>>> Before posting, please check:
>>> http://www.mysql.com/manual.php (the manual)
>>> http://lists.mysql.com/ (the list archive)
>>> To request this thread, e-mail <[EMAIL PROTECTED]>
>>> To unsubscribe, e-mail
>>> <[EMAIL PROTECTED]>
>>> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
>>
>>
>>
>> --
>> Gerald L. Clark
>> [EMAIL PROTECTED]
--
Gerald L. Clark
[EMAIL PROTECTED]
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php