15.7.7.33 显示中继日志事件语句
SHOW RELAYLOG EVENTS
[IN 'log_name']
[FROM pos]
[LIMIT [offset,] row_count]
[channel_option]
channel_option:
FOR CHANNEL channel
显示从中继服务器的relay log中事件。如果不指定',将显示第一个relay log。这条语句对源服务器无效。log_name'SHOW RELAYLOG EVENTS需要REPLICATION SLAVE权限。
LIMIT子句的语法与SELECT语句相同。请参阅第15.2.13节,“SELECT语句”。
如果没有指定LIMIT子句,执行SHOW RELAYLOG EVENTS可能会启动一个时间和资源消耗的过程,因为服务器将返回relay log的完整内容(包括所有修改数据的语句),这些语句已经被中继服务器接收。
可选的FOR CHANNEL 子句允许您指定语句应用于哪个中继通道。指定channelFOR CHANNEL 子句将语句应用于特定的中继通道。如果没有指定通道且没有额外通道,语句将应用于默认通道。channel
在使用多个中继通道时,如果SHOW RELAYLOG EVENTS语句没有使用FOR CHANNEL 子句,会生成错误。请参阅第19.2.2节,“中继通道”了解更多信息。channel
SHOW RELAYLOG EVENTS将显示relay log中的每个事件的以下字段:
-
Log_name被列出的文件的名称。
-
Pos事件的位置。
-
Event_type事件类型的标识符。
-
Server_id事件的源服务器ID。
-
End_log_pos源服务器的二进制日志中的
End_log_pos值。 -
Info事件类型的详细信息。事件类型的详细信息格式取决于事件类型。
对于压缩事务负载的事件,Transaction_payload_event首先被打印为单个单元,然后它被解包,每个事件被打印。
一些与用户变量和系统变量设置相关的事件不包含在SHOW RELAYLOG EVENTS的输出中。要获取relay日志中的事件完整覆盖,使用mysqlbinlog。