数据访问代理不仅支持应用程序(如 JDBC)与 MySQL Client 命令行访问,也支持 Navicat 数据库图形工具访问。本文将介绍如何配置数据访问代理与 Navicat 的连接,实现 Navicat 客户端访问。
创建数据库账号
进入数据访问代理控制台,左侧导航栏中,单击 实例。
在实例列表中,单击目标实例名,进入该实例的详情页面。
单击 账号管理 页签,然后单击 创建账号 按钮。
在 创建数据库账号 对话框中,配置账号信息:
数据库账号:账号名称,此处必须填写
odp_gui_user
。数据库密码:为该数据库账号设置一个密码。
授权数据库:选择需要授权的数据库并设置相应的权限。
单击 确定。
配置 Navicat 连接
打开 Navicat 客户端,配置一个连接。连接信息配置要求如下:
连接名:可根据业务需求,自定义连接名称,如
remotedbp
。主机:输入要连接的数据访问代理实例的访问地址,一般是一个公网地址。
端口:输入要连接的数据访问代理实例的访问端口。
用户名/密码:输入上一步创建的数据库账号名(即
odp_gui_user
)与密码。
功能说明
数据访问代理与 Navicat 完成连接后,在本地 Navicat 客户端中,支持与不支持的操作分别如下:
支持访问授权的数据库
支持双击打开数据表(单库单表、分库分表均支持)
支持查询数据表结构(单库单表、分库分表均支持)
支持在 SQL 窗口手动执行查询命令(单库单表、分库分表均支持)
支持双击打开数据表后,插入、更新、删除数据(单库单表、分库分表均支持)
支持双击打开数据表后,进行排序或筛选(单库单表、分库分表均支持)
支持部分 DDL:
不支持库操作
不支持单库单表的所有 DDL
分库分表的建表仅支持 sharding DDL
支持分库分表的 alter、drop 等
不支持视图,包括查看与更新
不支持事务
不支持清空表
不支持库级别的“运行 SQL 文件”
注意事项
在 双击打开数据表 与 SQL 窗口查询 场景中,如果没有手动加 hint,那么数据访问代理后台都会默认加上一个 SCAN_ALL
的 hint,表示 全表扫描,以保证在没有分库分表位的查询中有着良好的用户体验。
但需要注意的是,查询时,请勿在数据量很大的时候不加任何筛选条件地进行全表扫描,否则可能会给数据访问代理后台和物理库造成较大压力,引起业务系统查询耗时增长,甚至崩溃。