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
权限。
不允许对 log_status
表执行 TRUNCATE TABLE
操作。