Documentation Home
MySQL 8.0 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 33.4Mb
PDF (A4) - 33.4Mb
PDF (RPM) - 31.3Mb
HTML Download (TGZ) - 7.9Mb
HTML Download (Zip) - 8.0Mb
HTML Download (RPM) - 6.8Mb
Man Pages (TGZ) - 145.7Kb
Man Pages (Zip) - 206.7Kb
Info (Gzip) - 3.1Mb
Info (Zip) - 3.1Mb


Pre-General Availability Draft: 2017-09-26

13.4.1.2 RESET MASTER Syntax

RESET MASTER [TO binary_log_file_index_number]

RESET MASTER enables you to delete any binary log files and their related binary log index file, returning the master to its state before binary logging was started.

Warning

Use this statement with caution to ensure you do not lose binary log file data.

Issuing RESET MASTER without the optional TO clause deletes all binary log files listed in the index file, resets the binary log index file to be empty, and creates a new binary log file starting at 1. Use the optional TO clause to start the binary log file index from a number other than 1 after the reset. Issuing RESET MASTER also clears the values of the gtid_purged system variable and the gtid_executed system variable; that is, issuing this statement sets each of these values to an empty string (''). This statement also clears the mysql.gtid_executed table (see mysql.gtid_executed Table).

Using RESET MASTER with the TO clause to specify a binary log file index number to start from simplifies failover by providing a single statement alternative to the FLUSH BINARY LOGS and PURGE BINARY LOGS TO statements.

The following example demonstrates TO clause usage:

RESET MASTER TO 1234;

SHOW BINARY LOGS;
+-------------------+-----------+
| Log_name          | File_size |
+-------------------+-----------+
| master-bin.001234 |       154 |
+-------------------+-----------+
Important

The effects of RESET MASTER without the TO clause differ from those of PURGE BINARY LOGS in 2 key ways:

  1. RESET MASTER removes all binary log files that are listed in the index file, leaving only a single, empty binary log file with a numeric suffix of .000001, whereas the numbering is not reset by PURGE BINARY LOGS.

  2. RESET MASTER is not intended to be used while any replication slaves are running. The behavior of RESET MASTER when used while slaves are running is undefined (and thus unsupported), whereas PURGE BINARY LOGS may be safely used while replication slaves are running.

See also Section 13.4.1.1, “PURGE BINARY LOGS Syntax”.

RESET MASTER without the TO clause can prove useful when you first set up the master and the slave, so that you can verify the setup as follows:

  1. Start the master and slave, and start replication (see Section 18.1.2, “Setting Up Binary Log File Position Based Replication”).

  2. Execute a few test queries on the master.

  3. Check that the queries were replicated to the slave.

  4. When replication is running correctly, issue STOP SLAVE followed by RESET SLAVE on the slave, then verify that no unwanted data from the test queries exists on the slave.

  5. Issue RESET MASTER on the master to clean up the test queries.

After verifying the setup, resetting the master and slave and ensuring that no unwanted data or binary log files generated by testing remain on the master or slave, you can start the slave and begin replicating.


User Comments
  Posted by Paul Caskey on February 15, 2012
NOTE: This command LOCKS EVERYTHING and prohibits connections to the database engine while RESET MASTER is doing its thing! This can be many minutes if you have a lot of big masterXX.bin files to delete. Ctrl-C is trapped (does not work) from your mysql> prompt while this is underway. So once it starts, you are committed to wait, and who knows what harm might come from trying harder to abort it. Use PURGE on small bites at a time if you want to avoid this locking problem.
Sign Up Login You must be logged in to post a comment.