连接 Navicat 客户端

数据访问代理不仅支持应用程序(如 JDBC)与 MySQL Client 命令行访问,也支持 Navicat 数据库图形工具访问。本文将介绍如何配置数据访问代理与 Navicat 的连接,实现 Navicat 客户端访问。

创建数据库账号

  1. 进入数据访问代理控制台,左侧导航栏中,单击 实例

  2. 在实例列表中,单击目标实例名,进入该实例的详情页面。

  3. 单击 账号管理 页签,然后单击 创建账号 按钮。

  4. 创建数据库账号 对话框中,配置账号信息:

    • 数据库账号:账号名称,此处必须填写 odp_gui_user

    • 数据库密码:为该数据库账号设置一个密码。

    • 授权数据库:选择需要授权的数据库并设置相应的权限。创建账号

  5. 单击 确定

配置 Navicat 连接

打开 Navicat 客户端,配置一个连接。连接信息配置要求如下:

  • 连接名:可根据业务需求,自定义连接名称,如 remotedbp

  • 主机:输入要连接的数据访问代理实例的访问地址,一般是一个公网地址。

  • 端口:输入要连接的数据访问代理实例的访问端口。

  • 用户名/密码:输入上一步创建的数据库账号名(即 odp_gui_user)与密码。

Navicat 连接

功能说明

数据访问代理与 Navicat 完成连接后,在本地 Navicat 客户端中,支持与不支持的操作分别如下:

  • 支持访问授权的数据库

  • 支持双击打开数据表(单库单表、分库分表均支持)

  • 支持查询数据表结构(单库单表、分库分表均支持)

  • 支持在 SQL 窗口手动执行查询命令(单库单表、分库分表均支持)

  • 支持双击打开数据表后,插入、更新、删除数据(单库单表、分库分表均支持)

  • 支持双击打开数据表后,进行排序或筛选(单库单表、分库分表均支持)

  • 支持部分 DDL:

    • 不支持库操作

    • 不支持单库单表的所有 DDL

    • 分库分表的建表仅支持 sharding DDL

    • 支持分库分表的 alter、drop 等

  • 不支持视图,包括查看与更新

  • 不支持事务

  • 不支持清空表

  • 不支持库级别的“运行 SQL 文件”

注意事项

双击打开数据表SQL 窗口查询 场景中,如果没有手动加 hint,那么数据访问代理后台都会默认加上一个 SCAN_ALL 的 hint,表示 全表扫描,以保证在没有分库分表位的查询中有着良好的用户体验。

但需要注意的是,查询时,请勿在数据量很大的时候不加任何筛选条件地进行全表扫描,否则可能会给数据访问代理后台和物理库造成较大压力,引起业务系统查询耗时增长,甚至崩溃。