准备工作
云数据库GaussDB 提供gsql工具帮助您在命令行下连接数据库,您需要提前创建一台弹性云主机用于安装gsql工具。具体请参见《弹性云主机用户指南》。
须知
操作系统需要选择Euler操作系统。gsql支持的操作系统版本如下:
X86:EulerOS V2.0SP5。
绑定弹性公网IP
如果您想要通过公网访问数据库实例,那么您需要为数据库实例绑定弹性公网IP,具体操作请参考绑定和解绑弹性公网IP。
设置安全组规则
在访问数据库前,您需要将访问数据库的IP地址,或者IP段加入安全组入方向的访问规则,操作请参见设置安全组规则。
远程连接数据库
步骤 1 登录申请的弹性云主机。
步骤 2 在申请的弹性云主机上,上传客户端工具包并配置gsql的执行环境变量。
- 以root用户登录客户端机器。
- 创建“/tmp/tools”目录。
mkdir /tmp/tools
- 获取GaussDB软件包并解压。
unzip GaussDB_opengauss_client_tools.zip
- 根据申请的弹性云主机的操作系统架构进入不同目录,获取“GaussDB-Kernel-xxx-EULER-64bit-gsql.tar.gz”,并上传到申请的弹性云主机“/tmp/tools”路径下。
说明软件包相对位置为安装时所放位置,根据实际情况填写。
- 解压文件。
cd /tmp/tools
tar -zxvf GaussDB-Kernel-V500R001C00-EULER-64bit-gsql.tar.gz
- 设置环境变量。
打开“~/.bashrc”文件。
vi ~/.bashrc
在其中输入如下内容后,单击“ESC”退出编辑模式,使用“:wq!”命令保存并退出。
export PATH=/tmp/tools/bin:$PATH
export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH
使环境变量配置生效。
source ~/.bashrc
步骤 2 执行如下指令,根据提示输入密码,连接数据库。
数据库创建成功后,会默认生成名称为postgres的数据库,此处以postgres库为例。
gsql -d postgres -h 10.0.0.0 -U root -p 8000
Password for user root:
postgres为需要连接的数据库名称,10.0.0.0为实例绑定的公网IP地址,root为登录数据库的用户名,8000为实例的端口号。
SSL连接
步骤 1 登录管理控制台。
步骤 2 在“实例管理”页面,单击实例名称进入“基本信息”页面,单击“数据库信息”模块“SSL”处的,下载根证书或捆绑包。
步骤 3 将根证书上传至需连接云数据库GaussDB 实例的弹性云主机,或保存到可访问数据库实例的设备。
将根证书导入弹性云主机Linux操作系统,您可以使用任何终端连接工具(如WinSCP、PuTTY等工具)将证书上传至Linux系统任一目录下以实现该目标。
步骤 4 连接云数据库GaussDB 实例。
以Linux系统为例,在弹性云主机设置环境变量,执行如下命令。
export PGSSLMODE=
export PGSSLROOTCERT=
gsql -h -p -d -U
参数说明
参数 | 说明 |
---|---|
<host> |
主机IP,在“实例管理”页面单击实例名称,进入“基本信息”页面。“连接信息”模块的“内网地址”(通过弹性云主机访问)。 |
<port> |
端口,默认8000,当前端口,即在“实例管理”页面单击实例名称,进入“基本信息”页面,“连接信息”模块的“数据库端口”。 |
<database> |
需要连接的数据库名,默认管理数据库是postgres。 |
<user> |
用户名,即云数据库GaussDB 数据库帐号,默认管理员帐号为root。 |
<ca-file-directory> |
ssl连接CA证书路径。 |
<sslmode> |
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:
步骤 5 登录数据库后,出现如下信息,表示通过SSL连接成功。
SSL connection (cipher: DHE-RSA-AES256-GCM-SHA384, bits: 256)