log_status
表提供的信息使在线备份工具能够复制所需的日志文件,而无需在复制过程中锁定这些资源。
查询 log_status
表时,服务器仅在填充表所需的时间内阻止日志记录和相关管理更改,然后释放资源。log_status
表通知在线备份应复制到源的二进制日志和 gtid_executed
记录中的哪个点,以及每个复制通道的中继日志。它还提供单个存储引擎的相关信息,例如 InnoDB
存储引擎的最后一个日志序列号 (LSN) 和最后一个检查点的 LSN。
log_status
表包含以下列:
SERVER_UUID
此服务器实例的服务器 UUID。这是只读系统变量
server_uuid
生成的唯一值。LOCAL
来自源的日志位置状态信息,以单个 JSON 对象的形式提供,包含以下键:
-
binary_log_file
当前二进制日志文件的名称。
-
binary_log_position
访问
log_status
表时的当前二进制日志位置。-
gtid_executed
访问
log_status
表时全局服务器变量gtid_executed
的当前值。此信息与binary_log_file
和binary_log_position
键一致。
-
REPLICATION
通道的 JSON 数组,每个通道都包含以下信息:
-
channel_name
复制通道的名称。默认复制通道的名称为空字符串 (“”)。
-
relay_log_file
复制通道的当前中继日志文件的名称。
-
relay_log_pos
访问
log_status
表时的当前中继日志位置。
-
STORAGE_ENGINES
来自单个存储引擎的相关信息,以 JSON 对象的形式提供,每个适用的存储引擎都有一个键。
log_status
表没有索引。
访问 log_status
表需要 BACKUP_ADMIN
权限以及 SELECT
权限。
TRUNCATE TABLE
不允许用于 log_status
表。