13.6.1.1. PURGE MASTER LOGS
Syntax
PURGE {MASTER | BINARY} LOGS TO 'log_name
'
PURGE {MASTER | BINARY} LOGS BEFORE 'date
'
Deletes all the binary logs listed in the log index prior to
the specified log or date. The logs also are removed from the
list recorded in the log index file, so that the given log
becomes the first.
Example:
PURGE MASTER LOGS TO 'mysql-bin.010';
PURGE MASTER LOGS BEFORE '2003-04-02 22:46:26';
The BEFORE
variant's
date
argument can be in
'YYYY-MM-DD hh:mm:ss'
format.
MASTER
and BINARY
are
synonyms.
This statement is safe to run while slaves are replicating.
You do not need to stop them. If you have an active slave that
currently is reading one of the logs you are trying to delete,
this statement does nothing and fails with an error. However,
if a slave is dormant and you happen to purge one of the logs
it has yet to read, the slave will be unable to replicate
after it comes up.
To safely purge logs, follow this procedure:
On each slave server, use SHOW SLAVE
STATUS
to check which log it is reading.
Obtain a listing of the logs on the master server with
SHOW MASTER LOGS
.
Determine the earliest log among all the slaves. This is
the target log. If all the slaves are up to date, this is
the last log on the list.
Make a backup of all the logs you are about to delete.
(This step is optional, but always advisable.)
Purge all logs up to but not including the target log.