GaussDB通过gsql连接实例

通过gsql连接实例

本章介绍在管理控制台购买GaussDB实例后,如何使用gsql客户端连接GaussDB实例。

步骤一:购买ECS
步骤二:查询需要连接实例的IP地址和端口号
步骤三:测试连通性
步骤四:获取驱动包
步骤五:连接数据库
非SSL连接
SSL连接
购买ECS
GaussDB提供gsql工具帮助用户在命令行下连接数据库,用户需要提前创建一台弹性云服务器用于安装gsql工具。

登录管理控制台,查看是否有弹性云服务器。
有弹性云服务器,执行3。
无弹性云服务器,执行2。
图1 ECS实例
点击放大
购买弹性云服务器时,选择Euler操作系统。
购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。

在ECS实例基本信息页,查看ECS实例的区域和VPC。
图2 ECS基本信息

须知:
操作系统需要选择Euler操作系统。gsql支持的操作系统版本如下:

X86:EulerOS V2.0SP5,Kylin V10 SP2 。

鲲鹏服务器:EulerOS V2.0SP8,Kylin V10 SP1 。

在GaussDB实例基本信息页,查看GaussDB实例的区域和VPC。
图3 GaussDB基本信息

确认ECS实例与GaussDB实例是否处于同一区域、同一VPC。
ECS与GaussDB实例在同一区域、同一VPC,则通过内网连接实例,内网地址如何获取,请参考查询需要连接实例的IP地址。
ECS与GaussDB实例不在同一VPC,则通过公网连接实例,公网地址如何获取,请参考查询需要连接实例的IP地址。请确保ECS和GaussDB实例都要有弹性IP。
ECS如何绑定弹性公网IP,请参考绑定弹性公网IP。
GaussDB实例如何绑定弹性公网IP,请参考绑定弹性公网IP。
查询需要连接实例的IP地址和端口号
登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
在页面左上角单击,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
在“实例管理”页面,选择指定的实例,单击实例名称,进入实例基本信息页面。
在“节点列表”和“网络信息”模块处,查看IP地址和端口号。
ECS实例与GaussDB实例在同一VPC,请获取内网地址和数据库端口号。
ECS实例与GaussDB实例不在同一VPC,请获取弹性公网IP和数据库端口号。
测试连通性
登录ECS实例,请参见《弹性云服务器用户指南》中“Linux弹性云服务器远程登录(VNC方式)”。
在ECS上测试是否可以正常连接到GaussDB实例地址的端口,连接地址和端口通过查询需要连接实例的IP地址和端口号获取。
telnet IP地址 端口

示例:

telnet 192.168.0.16 8000
说明:
如果提示command not found,请根据ECS使用的操作系统不同,自行安装telnet工具。

如果可以通信,说明网络正常。
如果无法通信,请检查安全组规则。
查看ECS的安全组的出方向规则,需要将GaussDB实例的IP地址和端口添加到出方向规则。
ECS实例与GaussDB实例在同一VPC,将GaussDB实例的内网IP地址和端口添加到出方向规则。
ECS实例与GaussDB实例不在同一VPC,将GaussDB实例的公网IP地址和端口添加到出方向规则。
图4 ECS的安全组
点击放大
查看GaussDB的安全组的入方向规则,需要将ECS实例IP地址和端口添加到入方向规则。
ECS实例与GaussDB实例在同一VPC,需要将ECS实例的私有IP地址和端口添加到入方向规则。
ECS实例与GaussDB实例不在同一VPC,将ECS实例的弹性公网IP地址和端口添加到入方向规则。
具体操作请参见设置安全组规则。
图5 GaussDB的安全组
点击放大
获取驱动包
根据不同版本的实例,下载不同版本的发布包,如表1所示。

表1 驱动包下载列表
版本

下载地址

8.x

驱动包

驱动包校验包

3.x

驱动包

驱动包校验包

2.x

驱动包

驱动包校验包

为了防止软件包在传递过程或存储期间被恶意篡改,下载软件包时需下载对应的校验包对软件包进行校验,校验方法如下:

上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。
执行如下命令,校验软件包完整性。
cat GaussDB_driver.zip.sha256 | sha256sum --check

如果回显OK,则校验通过。

GaussDB_driver.zip: OK

连接数据库
非SSL连接
以root用户登录申请的弹性云服务器。
上传客户端工具包并配置gsql的执行环境变量。
执行以下命令创建“/tmp/tools”目录,用以存放客户端工具包。
mkdir /tmp/tools

参考获取驱动包,下载对应版本“GaussDB_driver.zip”驱动包,并将其上传到申请的弹性云服务器“/tmp/tools”路径下。
执行以下命令解压“GaussDB_driver.zip”驱动包。
cd /tmp/tools
unzip GaussDB_driver.zip

执行以下命令将解压出来的“GaussDB-Kernel_***_EULER_64bit-Gsql.tar.gz”客户端工具包拷贝到“/tmp/tools”路径下。
说明:
客户端工具包相对位置为解压后位置,请根据实际情况填写。此处以主备版实例Euler2.5_x86_64系统的gsql工具包为例。

cd /tmp/tools/GaussDB_driver/Centralized/Euler2.5_X86_64/
cp GaussDB-Kernel_***_EULER_64bit-Gsql.tar.gz /tmp/tools

执行以下命令解压文件。
cd /tmp/tools
tar -zxvf GaussDB-Kernel_***_EULER_64bit-Gsql.tar.gz

配置环境变量。
执行以下命令打开“~/.bashrc”文件。

vim ~/.bashrc

按“G”将光标移至最后一行,按“i”进入INSERT模式,输入如下内容后,单击“ESC”退出INSERT模式,输入“:wq”命令保存并退出。

export PATH=/tmp/tools/bin:$PATH
export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH

执行以下命令使环境变量配置永久生效。
source ~/.bashrc

执行如下指令,根据提示输入密码,连接数据库。
数据库创建成功后,会默认生成名称为postgres的数据库,此处以postgres库为例。

gsql -d postgres -h 10.0.0.0 -U root -p 8000
Password for user root:

postgres为需要连接的数据库名称,10.0.0.0为实例的IP地址,通过查询需要连接实例的IP地址获取,root为登录数据库的用户名,8000为数据库的端口号,通过查询需要连接实例的端口号获取。

有关gsql的命令参考和更多信息,请参见《工具参考》。

SSL连接
登录管理控制台。
单击管理控制台左上角的,选择区域和项目。
在页面左上角单击,选择“数据库 > 云数据库 GaussDB”,进入云数据库 GaussDB信息页面。
在“实例管理”页面,单击实例名称进入“基本信息”页面,单击“配置信息”模块“SSL”处的,下载根证书或捆绑包。
将根证书上传至需连接GaussDB实例的弹性云服务器,或保存到可访问数据库实例的设备。
将根证书导入弹性云服务器Linux操作系统,请参见将根证书导入Windows/Linux操作系统。

连接GaussDB实例。
以Linux系统为例,在弹性云服务器设置环境变量,执行如下命令。
export PGSSLMODE=
export PGSSLROOTCERT=

gsql -h -p -d -U

表2 参数说明
参数

说明

主机IP,在“实例管理”页面单击实例名称,进入“基本信息”页面。在“节点列表”模块的“IP地址”列获取IP信息。

端口,默认8000,当前端口,即在“实例管理”页面单击实例名称,进入“基本信息”页面,“网络信息”模块的“数据库端口”。

需要连接的数据库名,默认管理数据库是postgres。

用户名,即GaussDB数据库账号,默认管理员账号为root。

SSL连接CA证书路径。

SSL连接模式,设置为“verify-ca”,通过检查证书链(Certificate Chain,以下简称CA)来验证服务是否可信任。

在弹性云服务器设置环境变量,使用root用户SSL连接postgres数据库实例,具体示例如下:

export PGSSLMODE="verify-ca"
export PGSSLROOTCERT="/home/Ruby/ca.pem"

gsql -d postgres -h 10.0.0.0 -U root -p 8000

Password for user root:

有关gsql的命令参考和更多信息,请参见《工具参考》。

登录数据库后,出现如下信息,表示通过SSL连接成功。
SSL connection (cipher: DHE-RSA-AES256-GCM-SHA384, bits: 256)

父主题: 连接GaussDB实例

posted @ 2024-09-18 16:39  wpp0303  阅读(17)  评论(0)    收藏  举报