The mysqldump
command in MySQL is used to create logical backups of MySQL databases, allowing you to easily export database contents to a file for backup or transfer purposes. One of the options available is --delete-master-logs
, which was traditionally used to instruct MySQL to delete binary logs on the master server after performing a dump. However, this option is deprecated and no longer recommended for use due to changes in MySQL replication and logging mechanisms. Despite its deprecation, the option --delete-master-logs
was used previously to manage binary logs directly during backup operations. Below are examples of how it was used in different scenarios:
-
Example 1: Deleting Master Logs After Dump
This command instructs MySQL to dump a database and then delete the master’s binary logs:
mysqldump --delete-master-logs -u username -p database_name > backup.sql
The output of this command would be the SQL dump of the database stored in
backup.sql
. To verify if the binary logs were deleted, you would check the MySQL binary log directory for the absence of logs corresponding to the time of the dump. -
Example 2: Deprecated Behavior Warning
Running the command with
--delete-master-logs
may result in a warning due to its deprecated status:mysqldump --delete-master-logs -u username -p database_name
Output:
Warning: Using a password on the command line interface can be insecure. mysqldump: [Warning] --delete-master-logs is deprecated and will be removed in a future release. Please use FLUSH BINARY LOGS instead.
To verify, check the warning message produced by MySQL after executing the command.
-
Example 10: Impact on Replication
If used improperly in a replicated environment,
--delete-master-logs
can affect replication integrity:mysqldump --delete-master-logs -u username -p database_name > backup.sql
This would dump the database and potentially disrupt replication if not handled correctly. Verification involves checking the replication status and logs to ensure consistency.
As of MySQL version [version], it’s recommended to use FLUSH BINARY LOGS
or other MySQL management commands instead of --delete-master-logs
for handling binary logs. Always refer to the latest MySQL documentation for the most current and secure methods of database backup and management.
Also check similar articles.
Rotating Logs Before Backup in mysqldump
Setting Default Character Set in mysqldump
Debug Information in mysqldump
Debug Check in mysqldump
Debugging Options in mysqldump
Discussion about this post