一、如何访问数据库

进入某数据库分组里要访问的数据库详情信息,此时可以有四类方式来通过代理访问目标数据库: “访问串方式”、“一键唤醒本地工具”方式、通过“应用中心宿主机发布数据库工具”里的“Web桌面”以及“本地工具”方式;

  • 注意1:“一键唤醒本地工具”及“访问串方式”,都是调用当前用户自己电脑里的数据库工具来通过代理生成的访问串方式访问目标数据库;

  • 注意2:应用宿主机方式访问数据库“Web桌面”以及“本地工具”,是通过行云管家应用中心功能,打开应用宿主机里已安装的数据库应用工具来进行访问;

  • 注意3:代理机映射端口:映射端口默认从9000端口开始,后面导入的数据库在这基础上加(例如此数据库映射端口用的是9001)。代理宿主机正常情况会自动在宿主机防火墙里开放该端口(firewalld类型防火墙不会),请确认网络防火墙以及代理宿主机防火墙已开放该映射端口才可进行后续使用;

通过应用宿主机发布数据库工具来访问数据库,包括“Web桌面”以及“本地工具”两种方式;

行云管家通过将安装部署于应用宿主机中的数据库客户端工具与实际数据库结合,借助应用参数代填、发布授权能力,协助您对数据库进行访问授权及审计。其中应用宿主机数据库工具哪些支持自动代填的请参考以下列表:

客户端工具 客户端版本 数据库类型
Navicat Premium 11 MySQL
SQLServer
Oracle
12 MySQL
SQLServer
Oracle
MySQL Workbench 8.0.18 MySQL
PLSQL Developer 13 Oracle
SQL Plus 18.5 Oracle
Toad 13 Oracle
SQL Server Management Studio (SSMS) 17.9.1 SQLServer

二、应用宿主机安装及发布

通过应用发布方式访问数据库,需要先安装应用宿主机,然后在应用中心中添加宿主机,并且发布数据库工具;

2.1、安装应用宿主机

请参考【应用宿主机安装部署指引】。

2.2、添加应用宿主机

请参考【应用宿主机添加指引】。

2.3、发布宿主机数据库工具

请参考【发布新宿主机数据库工具指引】。

三、创建数据库工具代填

在完成应用宿主机安装、添加及应用工具发布后,就可以进入数据库菜单页面进一步操作了;

(1)在“资源运维”下进入“数据库管理”栏目,点击“数据库工具”,将弹出“数据库工具管理”;

(2)点击“创建新的工具”;

(3)设置工具名称、选择应用宿主机、选择工具为已经在应用中心中发布的Navicat、指定工具图标、指定访问应用时是否允许加载团队网盘;

(4)选择“数据库类型”,在“参数代填”里填入对应的参数,本例中(NavicatPremium的SQLServer参数)各参数填写为 ${user}、${password}、 ${ip},${port} ;

  • 注意1:是填写参数${user}这种形式,而不是填写具体数值;

  • 注意2:如果参数代填中有“连接名”,当通过数据库打开多个数据库连接时,可以通过“连接名”进行区分,这里请填写合适的名称(建议用英文)

(5)点击“下一步”后即可完成创建,点击“关闭”后就可以看到“数据库工具”里已经有新创建的工具了;

四、应用发布方式访问数据库

通过应用宿主机里已发布的数据库工具来访问数据库,下面以“Web桌面”为例,会通过web桌面会话访问应用宿主机里的数据库工具(“本地工具”方式同理,会通过用户当前电脑的mstsc访问应用宿主机里的数据库工具)

(1)在“资源运维”下的“数据库管理”页面中,点击您需要访问的“数据库”进入到该数据库详情页;

(2)点击“数据库访问串”里的“立即访问”,在这里可以看到刚创建的工具,点击即可打开数据库客户端工具;

(3)打开前,可以选择“数据库代理地址”以及设置“显示分辨率”;

(4)打开工具会话后可以看到执行了参数自动代填,并生成了数据库连接,通过该连接即可访问数据库;

五、数据库工具推荐

这里以安装在行云管家应用宿主机中为例:

5.1、MySQL Workbench(8.0.21)

(1)MySQL Workbench8.0.21下载地址:https://dev.mysql.com/downloads/workbench/

(2)请以管理员(Administrator)登录操作系统并进行安装(安装包名称默认为mysql-workbench-community-8.0.21-winx64.msi),整个安装过程中所有安装选项均采用默认值,直至安装完毕;

5.2、SQL Server Management Studio (SSMS17.9.1)

(1)SQL Server Management Studio (SSMS)17.9.1下载地址: https://docs.microsoft.com/zh-cn/sql/ssms/release-notes-ssms?view=sql-server-ver15#downloadssdtmediadownloadpng-ssms-1791httpsgomicrosoftcomfwlinklinkid2043154clcid0x409

(2)请以管理员(Administrator)登录操作系统并进行安装(安装包名称默认为SSMS-Setup-CHS.exe),整个安装过程中所有安装选项均采用默认值,直至安装完毕;

六、代填参数说明

首先,代填参数从何而来?

我们在发布工具时,为"参数代填"指定了JSON脚本,在该JSON脚本的“参数描述”部分中,即定义了所发布工具需代填的参数内容,包括参数的名称、参数在界面上显示的标签及参数值的类型。详见【发布新的工具

以上述“创建新的数据库工具”-“指定工具”向导页中选择的工具“navicat”为例【指定工具】,该工具在发布时指定的JSON脚本为Navicat连接SQLServer数据库时所需的代填脚本,其中"参数描述"部分内容如下:

"meta" : [
    {
      "name" : "userName",
      "label" : "用户名",
      "type" : "text"
    },
    {
      "name" : "password",
      "label" : "密码",
      "type" : "password"
    },
    {
      "name" : "host",
      "label" : "Host",
      "type" : "text"
    }
]

当中指定了三个代填参数:

第一个为用户名:其参数名称为“userName”,在界面上显示的标签为“用户名”,参数类型为“text”(即文本)。

第二个为密码:其参数名称为“password”,在界面上显示的标签为“密码”,参数类型为“password”。

第三个为数据库连接Host:其参数名称为“host”,在界面上显示的标签为“Host”,参数类型为“text”。

因此,我们在“参数代填”向导页面中能看到有三个代填参数,如下图:

其次,代填参数的参数值从哪里来?

我们在创建数据库工具时,在“创建新的数据库工具”-“参数代填”向导页面中为各个参数指定了值【参数代填】,其中“用户名”的值指定为“${user}”,“密码”的值指定为“${password}”,“Host”的值指定为“${ip},${port}”(不同的数据库工具中,Host值的指定形式可能会有不同),这些值是以“变量”的形式来指定的,那么这些变量是从哪里来的呢?

数据库工具创建成功后,将根据数据库类型,依附于数据库访问方案中:

一旦您点击使用数据库工具对数据库进行连接访问,行云管家即会根据数据库访问方案生成数据库访问串,访问串中包括了访问数据库所需的“用户名”、“密码”、“Host(IP)”、“端口”及“Schema”等内容,同时,将访问串中各项值赋予变量,赋值关系为:

${user} <= “用户名”

${password} <= “密码”

${ip} <= “Host(IP)”

${port} <= “端口”

${schema} <= “Schema”

而行云管家正是根据上述参数赋值关系,将访问数据库所需的“用户名”等值自动填入(代填)到数据库工具对应位置中,从而实现连接访问数据库的。