Documentation Home
MySQL 8.0 参考手册  / 第十七章复制  / 17.4 复制解决方案  /  17.4.3 监控基于行的复制

17.4.3 监控基于行的复制

使用基于行的复制时复制应用程序 (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;