基础运维 数据库管理
数据库导入及访问

一、行云管家支持哪些数据库?如何管理?

截止目前,行云管家支持了以下这些数据库的运维审计功能:

数据库 数据库版本 数据库工具推荐 行云管家版本
MySQL 所有版本 Navicat Premium、MySQL Shell、MySQL Workbench、SQLyog、MySQL-Front、DataGrip、DBeaver 所有版本
SQLServer 所有版本 Navicat Premium、SSMS17.9以内、DataGrip、SQLWB、DBeaver 所有版本
Oracle 8i、9i、10g、11g、12c Navicat Premium、PLSQL、Toad、SQLPlus、DataGrip、DBeaver 所有版本
PostgresSQL 11.7及以上版本 Navicat Premium、DataGrip、DBeaver 4.18及以上版本
Redis 3.2.100及以上版本 RedisDesktopManager 4.18及以上版本
Vertica 7.1.1及以上版本 DataGrip、DBeaver 4.18及以上版本
Hive 2.3.2及以上版本 beeline、DataGrip、DBeaver 4.18及以上版本
RedShift 所有版本 Navicat Premium、DataGrip、DBeaver 4.18及以上版本
MongoDB 所有版本 Robo 3T 4.19及以上版本

行云管家为用户提供了数据库访问的跳板机代理,用户通过跳板机在访问数据库时,所有的SQL语句将被审计记录下来。同时,还可将敏感数据设置为脱敏字段,在查询相关的字段数据时,将进行脱敏处理,保护数据不被泄露。

数据库审计原理:数据库审计提供跳板机访问串的功能,将您真实的用户名密码针对每一个用户进行隐藏,并生成一个临时的用户名与密码;此时并不会暴露数据库的真实密码,用户可以拿到访问串以任意形式去访问数据库;

跳板机(代理机):SaaS环境里主要指的是 Proxy宿主机,而在私有部署版里,除了可用Proxy宿主机作为跳板机,还能使用门户中转服务器(一般默认是行云管家服务器)作为跳板机;

二、新建数据库分组

进入“基础运维”的“数据库管理”菜单页面后,可以通过新建分组,来把后续添加进来的数据库进行分类分组;

如图,点击“新建分组”,根据您的需要对数据库类别进行分组命名;

三、导入数据库

新建分组后,即可在对应的分组里导入数据库,点击“导入数据库”,进入向导页面:

选择您要导入的数据库部署形式:在这里可以选择本地数据库和云厂商RDS:

3.1、导入本地数据库

(1)如果您选择的是本地数据库,那么针对本地数据库的管理,您需要事先将本地数据库所在主机导入到行云管家主机列表里,选择数据库所在的那台主机;

(2)选择数据库代理并选择数据库类型及填写数据库端口,用户在行云管家中,通过数据库代理访问目标数据库,并由数据库代理承担SQL指令的拦截、审计、敏感指令告警等职责;

Proxy代理:

默认中转代理:

注意:如果您选择的是本地数据库,那么数据库代理(跳板机)将根据您这台主机所在的云账户或VPC是Proxy模式或直连模式来选择代理,如果该主机所在云账户是Proxy模式,那么默认数据库代理为Proxy;如果该主机所在云账户是直连模式,那么默认数据库代理为门户中转服务器;

(3)此时就完成导入数据库了,您可以点击如图两个“前往设置”对“账户凭证”以及“访问方案”进行设置;

(4)点击“关闭”后可以看到该分组里有刚导入的数据库;

3.2、导入云厂商RDS

(1)如果您选择的是云厂商RDS,那么您可以点击更换代理来选择您的数据库代理(该代理要能访问该数据库才可用),可以选择Proxy(需要您安装有Proxy)或门户中转服务来作为数据库代理;并且您需要填写您的目标数据库服务器地址、选择数据库类型以及填写数据库端口号;

(2)点击“下一步”,此时就完成导入数据库了,您可以点击如图两个“前往设置”对“账户凭证”以及“访问方案”进行设置;

(3)点击“关闭”后可以看到该分组里有刚导入的数据库;

四、创建数据库账户凭证

(1)如图,点击“账户凭证”菜单,点击“增加数据库账户凭证”填写相关信息即可“创建账户凭证”;

(2)创建后如图,会看到创建好的账户凭证,点击您要编辑的“账户凭证”,可以查看并编辑该凭证详情;

(3)在这里可以编辑“基本信息”、授权该凭证给相关用户;

我们需要在这里录入该凭证所关联数据库的账户,以及选择该账户关联的数据库,并录入该账户对应的密码;

注意:我们还可以在上图“密码管理”里导出该数据库账户的密码,并选择导出后的xls格式文件是否加密;

五、访问数据库

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

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

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

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

5.1、访问串方式:

(1)点击如图访问串访问;

(2)代理机会生成数据库访问串,打开用户电脑里的本地工具(例如navicat),然后将此数据库访问串信息直接填入即可使用。

(3)将访问串中的IP地址、端口、用户名、密码填入到数据库远程访问工具中即可访问数据库。

(4)对于使用MySQL及Oracle终端的用户,我们有“快捷命令”的功能,一键生成数据库终端访问命令,方便您快捷的访问目标数据库;

5.2、一键唤醒本地工具方式:

(1)通过行云管家浏览器插件功能来唤醒用户电脑里的已安装的本地工具,安装浏览器插件后,点击如图一键唤醒本地工具;

(2)此时会唤醒该数据库工具,并弹出访问串信息,填写到目标工具后即可打开(有些工具会自动代填,例如MySQL Shell);

5.3、通过应用宿主机发布数据库工具来访问数据库

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