删除不同
reset master 会删除所有的二进制日志
mysql> help reset master;
Name: 'RESET MASTER'
Description:
Syntax:
RESET MASTER [TO binary_log_file_index_number]
The following example demonstrates TO clause usage:
RESET MASTER TO 1234;
SHOW BINARY LOGS;
+-------------------+-----------+-----------+
| Log_name | File_size | Encrypted |
+-------------------+-----------+-----------+
| master-bin.001234 | 154 | No |
+-------------------+-----------+-----------+
URL: https://dev.mysql.com/doc/refman/8.0/en/reset-master.html
而 purge binary logs 是一种基于时间点的删除
purge binary logs语法如下:
mysql> help purge binary logs
Name: 'PURGE BINARY LOGS'
Description:
Syntax:
PURGE { BINARY | MASTER } LOGS {
TO 'log_name'
| BEFORE datetime_expr
}
Examples:
PURGE BINARY LOGS TO 'mysql-bin.010';
PURGE BINARY LOGS BEFORE '2019-04-02 22:46:26';
效果不同
在正常的主从复制环境中,如果在 master 上执行 reset master,结果是不可预测的。
但使用 purge binary logs 语句删除 binlog 没多大影响(但是相关的 binlog 记录已经传输到slave上)
参考:
http://dev.mysql.com/doc/refman/8.0/en/reset-slave.html
http://dev.mysql.com/doc/refman/8.0/en/reset-master.html
http://dev.mysql.com/doc/refman/8.0/en/purge-binary-logs.html