Skip to main content

3.监控基于行的复制

监控基于行的复制

使用基于行的复制时,复制应用程序 (SQL) 线程的当前进度通过性能架构工具阶段进行监控,使能够跟踪操作的处理情况并检查已完成的工作量和估计的工作量。 当启用这些性能模式工具阶段时,events_stages_current 表会显示应用程序线程的阶段及其进度。

要跟踪所有三种基于行的复制事件类型(写入、更新、删除)的进度:

  • 通过发出以下命令来启用三个性能模式阶段:

    mysql> UPDATE performance_schema.setup_instruments SET ENABLED = 'YES'
    -> WHERE NAME LIKE 'stage/sql/Applying batch of row changes%';
  • 等待复制应用程序线程处理某些事件,然后通过查看 events_stages_current 表来检查进度。 例如,要获取更新事件问题的进度:

    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;