本文介绍了通过SQL语句对PolarDB-X的binlog日志服务进行启动、暂停、重置和滚动刷新的方法。
注意事项
本文描述的SQL语句需要有SUPER或REPLICATION CLIENT权限,权限操作请参见账号权限管理。
PolarDB-X的5.4.17版本及以上系列实例支持本文描述的SQL。
没有WITH子句时,操作对象仅为单流binlog服务。
包含WITH子句时,操作对象为with子句中指定的多流binlog服务。
WITH子句中指定的stream_group_name,为开通多流服务时指定的流组名称。
START MASTER
说明
binlog日志服务默认为启动状态,如果未执行过STOP MASTER命令,无需执行START MASTER。
通过START MASTER启动服务后,binlog日志的生成将继续。
语法
START MASTER [WITH stream_group_name]
示例
执行以下语句启动单流binlog服务。
START MASTER;
执行以下语句启动流组名称为group1的多流binlog服务。
START MASTER WITH group1;
STOP MASTER
说明
暂停服务后,binlog日志的生成将停止。
需合理控制服务的暂停时间,暂停时间过长可能会出现由于DN对应的物理binlog被清理,导致重新启动日志服务后服务无法恢复的问题。DN对应binlog的保留时间设置,请参见本地日志备份。
语法
STOP MASTER [WITH stream_group_name]
示例
执行以下语句,可停止单流binlog服务。
STOP MASTER;
执行以下语句,可停止流组名称为group1的多流binlog服务。
STOP MASTER WITH group1;
RESET MASTER
说明
执行RESET MASTER之前,需先通过执行STOP MASTER停止binlog日志服务。
执行RESET MASTER之后,现存的binlog文件将被彻底删除。
执行RESET MASTER之后,binlog文件将以当前时间为新的起点,从编号000001开始重新生成。
执行RESET MASTER之后,需执行START MASTER重新启动binlog服务。
语法
RESET MASTER [WITH stream_group_name]
示例
执行以下语句,可重置单流binlog服务。
RESET MASTER;
执行以下语句,可重置流组名称为group1的多流binlog服务。
RESET MASTER WITH group1;
FLUSH LOGS
说明
执行FLUSH LOGS之后,当前编号最大的binlog文件将停止写入,滚动生成一个新的文件进行写入。
该功能暂时只对单流binlog日志服务有效。
语法
FLUSH LOGS;
示例
执行以下语句,可实现binlog文件的滚动刷新。
FLUSH LOGS;
刷新前,单流binlog编号最大的日志文件为binlog.000004
show binary logs; +---------------+-----------+ | LOG_NAME | FILE_SIZE | +---------------+-----------+ | binlog.000001 | 20968 | | binlog.000002 | 10489381 | | binlog.000003 | 10486003 | | binlog.000004 | 361752 | +---------------+-----------+
刷新后,单流binlog编号最大的日志文件变为binlog.000005
show binary logs; +---------------+-----------+ | LOG_NAME | FILE_SIZE | +---------------+-----------+ | binlog.000001 | 20968 | | binlog.000002 | 10489381 | | binlog.000003 | 10486003 | | binlog.000004 | 361752 | | binlog.000005 | 260 | +---------------+-----------+