MySQL 8.3 Release Notes
使用基于行的复制时,复制应用程序(SQL)线程的当前进度通过性能模式仪表阶段监控,启用您跟踪操作处理和检查已完成和估算工作的数量。当这些性能模式仪表阶段启用时,events_stages_current
表显示应用程序线程的阶段和进度。有关背景信息,请参阅 第 29.12.5 节,“性能模式阶段事件表”。
要跟踪所有三种基于行的复制事件类型(写入、更新、删除)的进度:
-
通过发出以下命令启用三个性能模式阶段:
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;