更新时间:2024-06-11 GMT+08:00

使用Linux gsql客户端连接集群

用户在创建好数据仓库集群,开始使用集群数据库之前,需要使用数据库SQL客户端连接到数据库。GaussDB(DWS)提供了与集群版本配套的Linux gsql命令行客户端工具,您可以使用Linux gsql客户端通过集群的公网地址或者内网地址访问集群。

它的运行环境是Linux操作系统,在使用Linux gsql客户端远程连接GaussDB(DWS)集群之前,需要准备一个Linux主机用于安装和运行Linux gsql客户端。如果通过公网地址访问集群,也可以将Linux gsql客户端安装在用户自己的Linux主机上,但是该Linux主机必须具有公网地址。若GaussDB(DWS)集群没有配置公网IP,为方便起见,推荐您创建一台Linux弹性云服务器(简称ECS),详情可参见(可选)准备ECS作为gsql客户端主机

(可选)准备ECS作为gsql客户端主机

创建弹性云服务器的操作步骤,请参见《弹性云服务器用户指南》中的“快速入门 > 创建弹性云服务器”章节。

创建的弹性云服务器需要满足如下要求:

  • 弹性云服务器需要与GaussDB(DWS)集群具有相同的区域、可用区。
  • 如果使用GaussDB(DWS)提供的gsql命令行客户端连接GaussDB(DWS) 集群,弹性云服务器的镜像必须满足如下要求:

    镜像的操作系统必须是gsql客户端所支持的下列Linux操作系统:

    • “Redhat x86_64”客户端工具支持在以下系统中使用:
      • RHEL 6.4~7.6
      • CentOS 6.4~7.4
      • EulerOS 2.3
    • “SUSE x86_64”客户端工具支持在以下系统中使用:
      • SLES 11.1~11.4
      • SLES 12.0~12.3
  • 如果客户端通过内网地址访问集群,请确保创建的弹性云服务器与GaussDB(DWS)集群在同一虚拟私有云里。

    虚拟私有云相关操作请参见《虚拟私有云用户指南》中“虚拟私有云和子网”。

  • 如果客户端通过公网地址访问集群,请确保创建的弹性云服务器和GaussDB(DWS)集群都要有弹性IP。

    创建弹性云服务器时,参数“弹性IP”需设置为“自动分配”或“使用已有”。

  • 弹性云服务器对应的安全组规则需要确保能与GaussDB(DWS)集群提供服务的端口网络互通。

    安全组相关操作请参见《虚拟私有云用户指南》中“安全组”章节。

    请确认弹性云服务器的安全组中存在符合如下要求的规则,如果不存在,请在弹性云服务器的安全组中添加相应的规则:

    • 方向:出方向。
    • 协议:必须包含TCP。例如,TCP、全部。
    • 端口:需要包含GaussDB(DWS)集群提供服务的数据库端口,例如,设置为“1-65535”或者具体的GaussDB(DWS) 数据库端口。
    • 目的地址:设置的IP地址需要包含所要连接的GaussDB(DWS)集群的连接地址。其中0.0.0.0/0表示任意地址。
  • GaussDB(DWS)集群的安全组规则需要确保GaussDB(DWS)能接收来自客户端的网络访问。
    请确认GaussDB(DWS)集群的安全组中存在符合如下要求的规则,如果不存在,请在GaussDB(DWS)集群的安全组中添加相应的规则。
    • 方向:入方向。
    • 协议:必须包含TCP。例如,TCP、全部。
    • 端口:设置为GaussDB(DWS)集群提供服务的数据库端口,例如“8000”。
    • 源地址:设置的IP地址需要包含GaussDB(DWS)客户端主机的IP地址,例如“192.168.0.10/32”。

下载Linux gsql客户端并连接集群

  1. 请参见下载客户端下载Linux gsql客户端,并使用SSH文件传输工具(例如WinSCP工具),将客户端工具上传到一个待安装Linux gsql的Linux主机上。

    推荐下载使用与集群版本匹配的gsql工具,即8.1.0及以上版本集群使用8.1.x版本gsql、8.2.0及以上版本集群使用8.2.x版。若下载8.2.x版本gsql工具,需将dws_client_8.1.x_redhat_x64.zip替换为dws_client_8.2.x_redhat_x64.zip。此处仅以dws_client_8.1.x_redhat_x64.zip作为示例。

    执行上传Linux gsql操作的用户需要对客户端主机的目标存放目录有完全控制权限。

  2. 使用SSH会话工具,远程管理客户端主机。

    弹性云服务器的登录方法请参见《弹性云服务器用户指南》中的“实例 > 登录Linux弹性云服务器 > SSH密码方式登录”章节。

  3. (可选)如果要使用SSL方式连接集群,请参考使用SSL进行安全的TCP/IP连接章节,在客户端主机配置SSL认证相关的参数。

    SSL连接方式的安全性高于非SSL方式,建议在客户端使用SSL连接方式。

  4. 执行以下命令解压客户端工具。

    cd <客户端存放路径>
    unzip dws_client_8.1.x_redhat_x64.zip

    其中:

    • <客户端存放路径>:请替换为实际的客户端存放路径。
    • dws_client_8.1.x_redhat_x64.zip:“RedHat x64”对应的客户端工具包名称,请替换为实际下载的包名。

  5. 执行以下命令配置客户端。

    source gsql_env.sh

    提示以下信息表示客户端已配置成功。

    All things done.

  6. 执行以下命令,使用gsql客户端连接GaussDB(DWS)集群中的数据库。

    gsql -d <数据库名称> -h <集群地址> -U <数据库用户> -p <数据库端口> -W <集群密码> -r

    参数说明如下:

    • “数据库名称”:输入所要连接的数据库名称。首次使用客户端连接集群时,请指定为集群的默认数据库gaussdb
    • “集群地址”:请参见获取集群连接地址进行获取。如果通过公网地址连接,请指定为集群“公网访问地址”,如果通过内网地址连接,请指定为集群“内网访问地址”
    • “数据库用户”:输入集群数据库的用户名。首次使用客户端连接集群时,请指定为创建集群时设置的默认管理员用户,例如“dbadmin”
    • “数据库端口”:输入创建集群时设置的“数据库端口”

    例如,执行以下命令连接GaussDB(DWS)集群的默认数据库gaussdb

    1
    gsql -d gaussdb -h 10.168.0.74 -U dbadmin -p 8000 -W password -r
    

    显示如下信息表示gsql工具已经连接成功:

    1
    gaussdb=>
    

gsql命令参考

有关gsql的命令参考和更多信息,请参见《数据仓库服务工具指南》。