## 概述

<!-- markdownlint-disable MD032 -->
> [!NOTE]
> 本实验仅支持 Chrome 浏览器。

在从 MySQL 迁移到 TiDB 的过程中，通常需要验证应用程序 SQL 的兼容性和性能。TiDB 真实流量重放工具可用于将从 MySQL 慢查询或数据包捕获中获取的流量文件重新应用到 TiDB 集群。该工具可以完成针对兼容性或性能的真实流量验证，提高数据库迁移的成功率。

  ![80%](https://lab-static.pingcap.com/quick-demo/demo-302-1-en.png)

### `sql-replay` 的核心功能

+ 日志捕获和解析
  + `MySQL slow log` 文件或由 `parse-tshark captures` 生成的文件包含 SQL 执行时间和 SQL 文本。该工具可以解析这些日志，提取诸如 SQL 语句、执行时间等相关信息，可能还包括其他元数据，如执行上下文或执行查询的用户。

+ 查询重放
  + 在受控环境中将提取的 SQL 查询重放到 TiDB 集群。

+ 性能测量与分析
  + 在重放过程中，获取 TiDB 集群中 SQL 查询的执行时间。
  + 将这些指标与基准测试或之前的运行结果进行比较，以识别性能下降或提升情况，有助于查明可能导致问题的特定查询或数据库设置。

+ 报告生成
  + 最后，sql - replay 生成报告，深入分析查询兼容性和性能。这些报告帮助数据库管理员和开发人员了解不同查询对系统的影响，并做出明智的优化决策。

### 任务

+ 设置上游 MySQL 和下游 TiDB 环境。
+ 使用 `sql-replay` 工具捕获并重放 SQL。
+ 使用 `parse-tshark` 工具捕获 SQL，并使用 `sql-replay` 工具重放。

> [!TIP]
> 点击 **开始** 启动实验环境。
> 环境准备就绪后，分配给您的动手实践会话的资源将填充实际值，您才可以按照实验指南逐步完成练习。
