使用基于行的复制时复制应用程序 (SQL) 线程的当前进度通过 Performance Schema 工具阶段进行监视,使您能够跟踪操作的处理并检查已完成的工作量和估计的工作量。当启用这些 Performance Schema 仪器阶段时,该events_stages_current
表显示应用程序线程的阶段及其进度。有关背景信息,请参阅
第 27.12.5 节,“性能模式阶段事件表”。
要跟踪所有三种基于行的复制事件类型(写入、更新、删除)的进度:
通过发出以下命令启用三个 Performance Schema 阶段:
mysql> UPDATE performance_schema.setup_instruments SET ENABLED = 'YES' -> WHERE NAME LIKE 'stage/sql/Applying batch of row changes%';
等待复制应用程序线程处理一些事件,然后通过查看
events_stages_current
表来检查进度。例如,获取update
事件问题的进展:mysql> SELECT WORK_COMPLETED, WORK_ESTIMATED FROM performance_schema.events_stages_current -> WHERE EVENT_NAME LIKE 'stage/sql/Applying batch of row changes (update)'
如果
binlog_rows_query_log_events
启用,有关查询的信息将存储在二进制日志中,并在processlist_info
字段中公开。要查看触发此事件的原始查询:mysql> SELECT db, processlist_state, processlist_info FROM performance_schema.threads -> WHERE processlist_state LIKE 'stage/sql/Applying batch of row changes%' AND thread_id = N;