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
子句允许您指定语句应用于哪个中继通道。指定channel
FOR 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。