Rechercher dans le manuel MySQL
13.4.1.1 PURGE BINARY LOGS Syntax
The binary log is a set of files that contain information about data modifications made by the MySQL server. The log consists of a set of binary log files, plus an index file (see Section 5.4.4, “The Binary Log”).
The PURGE BINARY LOGS
statement
deletes all the binary log files listed in the log index file
prior to the specified log file name or date.
BINARY
and MASTER
are
synonyms. Deleted log files also are removed from the list
recorded in the index file, so that the given log file becomes
the first in the list.
PURGE BINARY LOGS
requires the
BINLOG_ADMIN
privilege. This
statement has no effect if the server was not started with the
--log-bin
option to enable binary
logging.
Examples:
The BEFORE
variant's
datetime_expr
argument should
evaluate to a DATETIME
value (a
value in 'YYYY-MM-DD hh:mm:ss'
format).
This statement is safe to run while slaves are replicating. You need not stop them. If you have an active slave that currently is reading one of the log files you are trying to delete, this statement does not delete the log file that is in use or any log files later than that one, but it deletes any earlier log files. A warning message is issued in this situation. However, if a slave is not connected and you happen to purge one of the log files it has yet to read, the slave will be unable to replicate after it reconnects.
To safely purge binary log files, follow this procedure:
On each slave server, use
SHOW SLAVE STATUS
to check which log file it is reading.Obtain a listing of the binary log files on the master server with
SHOW BINARY LOGS
.Determine the earliest log file among all the slaves. This is the target file. If all the slaves are up to date, this is the last log file on the list.
Make a backup of all the log files you are about to delete. (This step is optional, but always advisable.)
Purge all log files up to but not including the target file.
PURGE BINARY LOGS TO
and PURGE
BINARY LOGS BEFORE
both fail with an error when binary
log files listed in the .index
file had
been removed from the system by some other means (such as using
rm on Linux). (Bug #18199, Bug #18453) To
handle such errors, edit the .index
file
(which is a simple text file) manually to ensure that it lists
only the binary log files that are actually present, then run
again the PURGE BINARY LOGS
statement that failed.
Binary log files are automatically removed after the server's
binary log expiration period. Removal of the files can take
place at startup and when the binary log is flushed. The default
binary log expiration period is 30 days. You can specify an
alternative expiration period using the
binlog_expire_logs_seconds
system variable. If you are using replication, you should
specify an expiration period that is no lower than the maximum
amount of time your slaves might lag behind the master.
Document created the 26/06/2006, last modified the 26/10/2018
Source of the printed document:https://www.gaudry.be/en/mysql-rf-purge-binary-logs.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.