### 17.4.3 监控基于行的复制

使用基于行的复制时复制应用程序 (SQL) 线程的当前进度通过 Performance Schema 仪器阶段进行监控，使您能够跟踪操作的处理并检查已完成的工作量和估计的工作量。启用这些 Performance Schema 仪器阶段后，[`events_stages_current`](performance-schema-events-stages-current-table.html)表显示了应用程序线程的阶段及其进度。有关背景信息，请参阅[第 27.12.5 节，“性能模式阶段事件表”](performance-schema-stage-tables.html).

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

-   通过发出以下命令启用三个性能模式阶段：

    ```
    mysql> UPDATE performance_schema.setup_instruments SET ENABLED = 'YES'
        -> WHERE NAME LIKE 'stage/sql/Applying batch of row changes%';
    ```

-   等待复制应用程序线程处理一些事件，然后通过查看[`events_stages_current`](performance-schema-events-stages-current-table.html)桌子。例如，为了取得进展`更新`事件问题：

    ```
    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`](replication-options-binary-log.html#sysvar_binlog_rows_query_log_events)启用后，有关查询的信息存储在二进制日志中，并在`进程列表信息`场地。要查看触发此事件的原始查询：

    ```
    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;
    ```
