使用 MySQL Workbench 连接到 TiDB

TiDB 是一个兼容 MySQL 的数据库。MySQL Workbench 是为 MySQL 数据库用户提供的 GUI 工具集。

MySQL Workbench - 图1

警告

  • 尽管由于 MySQL Workbench 兼容 MySQL,你可以使用 MySQL Workbench 连接到 TiDB,但 MySQL Workbench 并不完全支持 TiDB。由于 MySQL Workbench 将 TiDB 视为 MySQL,因此在使用过程中可能会遇到一些问题。
  • 建议使用其它 TiDB 完全支持的 GUI 工具进行连接,例如 DataGrip,DBeaver 以及 VS Code SQLTools。TiDB 完全支持的 GUI 工具的完整列表,参考 TiDB 支持的第三方工具

在本文档中,你可以学习如何使用 MySQL Workbench 连接到 TiDB 集群。

MySQL Workbench - 图2

注意

本文档适用于 TiDB Serverless、TiDB Dedicated 和本地部署的 TiDB。

前置需求

为了能够顺利完成本文中的操作,你需要:

如果你还没有 TiDB 集群,可以按如下方式创建一个:

连接到 TiDB

根据你选择的 TiDB 部署方式连接到 TiDB 集群。

  • TiDB Serverless
  • TiDB Dedicated
  • TiDB Self-Hosted
  1. 在 TiDB Cloud 的 Clusters 页面中,点击你目标集群的名字,进入集群的 Overview 页面。

  2. 点击右上角的 Connect 按钮,将会弹出连接对话框。

  3. 确认对话框中的配置和你的运行环境一致。

    • Endpoint Type 选择 Public
    • Branch 选择 main
    • Connect With 选择 MySQL Workbench
    • Operating System 为你的运行环境。
  4. 点击 Generate Password 生成一个随机密码。

    MySQL Workbench - 图3

    小贴士

    如果你之前已经生成过密码,可以直接使用原密码,或点击 Reset Password 重新生成密码。

  5. 启动 MySQL Workbench,并点击 MySQL Connections 标题旁边的 +

    MySQL Workbench: add new connection

  6. Setup New Connection 对话框中,配置以下连接参数:

    • Connection Name:为该连接指定一个有意义的名称。

    • Hostname:输入从 TiDB Cloud 连接对话框中的得到的 HOST 参数。

    • Port:输入从 TiDB Cloud 连接对话框中的得到的 PORT 参数。

    • Username:输入从 TiDB Cloud 连接对话框中的得到的 USERNAME 参数。

    • Password:点击 Store in Keychain …Store in Vault,输入 TiDB Serverless 集群的密码,然后点击 OK 保存密码。

      MySQL Workbench: store the password of TiDB Serverless in keychain

    下图显示了连接参数的示例:

    MySQL Workbench: configure connection settings for TiDB Serverless

  7. 点击 Test Connection 以验证与 TiDB Serverless 集群的连接。

  8. 如果连接测试成功,你可以看到 Successfully made the MySQL connection 信息。点击 OK 保存连接配置。

  9. 在 TiDB Cloud 的 Clusters 页面中,点击你目标集群的名字,进入集群的 Overview 页面。

  10. 点击右上角的 Connect 按钮,将会弹出连接对话框。

  11. 点击 Allow Access from Anywhere

    有关如何获取连接字符串的更多详细信息,参考 TiDB Dedicated 标准连接(英文)

  12. 启动 MySQL Workbench,并点击 MySQL Connections 标题旁边的 +

    MySQL Workbench: add new connection

  13. Setup New Connection 对话框中,配置以下连接参数:

    • Connection Name:为该连接指定一个有意义的名称。

    • Hostname: 输入从 TiDB Cloud 连接对话框中的得到的 HOST 参数。

    • Port:输入从 TiDB Cloud 连接对话框中的得到的 PORT 参数。

    • Username:输入从 TiDB Cloud 连接对话框中的得到的 USERNAME 参数。

    • Password:点击 Store in Keychain …,输入 TiDB Dedicated 集群的密码,然后点击 OK 保存密码。

      MySQL Workbench: store the password of TiDB Dedicated in keychain

    下图显示了连接参数的示例:

    MySQL Workbench: configure connection settings for TiDB Dedicated

  14. 点击 Test Connection 以验证与 TiDB Dedicated 集群的连接。

  15. 如果连接测试成功,你可以看到 Successfully made the MySQL connection 信息。点击 OK 保存连接配置。

  16. 启动 MySQL Workbench,并点击 MySQL Connections 标题旁边的 +

    MySQL Workbench: add new connection

  17. Setup New Connection 对话框中,配置以下连接参数:

    • Connection Name:为该连接指定一个有意义的名称。

    • Hostname:输入本地部署 TiDB 集群的 IP 地址或域名。

    • Port:输入本地部署 TiDB 集群的端口号。

    • Username:输入用于连接到 TiDB 的用户名。

    • Password:点击 Store in Keychain …,输入用于连接 TiDB 集群的密码,然后点击 OK 保存密码。

      MySQL Workbench: store the password of TiDB Self-Hosted in keychain

    下图显示了连接参数的示例:

    MySQL Workbench: configure connection settings for TiDB Self-Hosted

  18. 点击 Test Connection 以验证与本地部署 TiDB 集群的连接。

  19. 如果连接测试成功,你可以看到 Successfully made the MySQL connection 信息。点击 OK 保存连接配置。

常见问题

如何处理连接超时错误 “Error Code: 2013. Lost connection to MySQL server during query”?

这个错误表示查询执行时间超过了超时限制。要解决这个问题,可以按照以下步骤调整超时设置:

  1. 启动 MySQL Workbench 并打开 Workbench Preferences 页面。

  2. SQL Editor > MySQL Session 部分,调整 DBMS connection read timeout interval (in seconds) 的设置。该字段控制了 MySQL Workbench 在断开与服务器的连接之前查询可以执行的最长时间(以秒为单位)。

    MySQL Workbench: adjust timeout option in SQL Editor settings

更多信息,可以参考 MySQL Workbench 常见问题

下一步

需要帮助?

如果在开发的过程中遇到问题,可以在 AskTUG 上进行提问,或从 PingCAP 官方或 TiDB 社区获取支持