暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GaussDB通过公网连接实例

uuuu 2023-09-07
161

拥有GaussDB实例后,默认未开启公网访问功能(即未绑定弹性公网IP)。GaussDB支持用户绑定弹性公网IP,在公共网络来访问数据库实例,绑定后也可根据需要解绑。

准备工作

GaussDB提供gsql工具帮助您在命令行下连接数据库,您需要提前创建一台弹性云服务器用于安装gsql工具。

创建并连接ECS,请参见弹性云服务器快速入门

须知:

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

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

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

绑定弹性公网IP

如果您想要通过公网访问数据库实例,那么您需要为数据库实例绑定弹性公网IP,具体操作请参考绑定弹性公网IP

设置安全组规则

在访问数据库前,您需要将访问数据库的IP地址,或者IP段加入安全组入方向的访问规则,操作请参见设置安全组规则

获取驱动包

根据不同版本的实例,下载不同版本的发布包,如表1所示。

表1 驱动包下载列表

版本

下载地址

3.x

驱动包

驱动包校验包

2.x

驱动包

驱动包校验包

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

  1. 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。
  2. 执行如下命令,校验软件包完整性。

    cat GaussDB_driver.zip.sha256 | sha256sum --check

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

    GaussDB_driver.zip: OK



远程连接数据库

  1. 登录申请的弹性云服务器。
  2. 在申请的弹性云服务器上,上传客户端工具包并配置gsql的执行环境变量。


    1. 以root用户登录客户端机器。
    2. 创建“/tmp/tools”目录。
      mkdir /tmp/tools


    3. 解压GaussDB软件包“GaussDB_driver.zip”。
    4. 根据申请的弹性云服务器的操作系统架构进入不同目录,获取“GaussDB-Kernel-VxxxRxxxCxx-EULER-64bit-gsql.tar.gz”,并上传到申请的弹性云服务器“/tmp/tools”路径下。

      说明:

      软件包相对位置为安装时所放位置,根据实际情况填写。

      cd GaussDB_driver/Centralized/Euler2.5_X86_64/
      cp GaussDB-Kernel-VxxxRxxxCxx-EULER-64bit-gsql.tar.gz /tmp/tools


    5. 解压文件。
      cd /tmp/tools
      tar -zxvf GaussDB-Kernel-VxxxRxxxCxx-EULER-64bit-gsql.tar.gz


    6. 设置环境变量。

      打开“~/.bashrc”文件。

      vi ~/.bashrc


      按下i键进入INSERT模式,在其中输入如下内容后,单击“ESC”退出编辑模式,使用“:wq!”命令保存并退出。

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


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


      使环境变量配置生效。

      source ~/.bashrc



  3. 执行如下指令,根据提示输入密码,连接数据库。


    数据库创建成功后,会默认生成名称为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. 拥有GaussDB实例后,默认未开启公网访问功能(即未绑定弹性公网IP)。GaussDB支持用户绑定弹性公网IP,在公共网络来访问数据库实例,绑定后也可根据需要解绑。

    准备工作

    GaussDB提供gsql工具帮助您在命令行下连接数据库,您需要提前创建一台弹性云服务器用于安装gsql工具。

    创建并连接ECS,请参见弹性云服务器快速入门

    须知:

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

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

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

    绑定弹性公网IP

    如果您想要通过公网访问数据库实例,那么您需要为数据库实例绑定弹性公网IP,具体操作请参考绑定弹性公网IP

    设置安全组规则

    在访问数据库前,您需要将访问数据库的IP地址,或者IP段加入安全组入方向的访问规则,操作请参见设置安全组规则

    获取驱动包

    根据不同版本的实例,下载不同版本的发布包,如表1所示。

    表1 驱动包下载列表

    版本

    下载地址

    3.x

    驱动包

    驱动包校验包

    2.x

    驱动包

    驱动包校验包

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

    1. 上传软件包和软件包校验包到虚拟机(Linux操作系统)的同一目录下。
    2. 执行如下命令,校验软件包完整性。

      cat GaussDB_driver.zip.sha256 | sha256sum --check

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

      GaussDB_driver.zip: OK

    远程连接数据库

    1. 登录申请的弹性云服务器。
    2. 在申请的弹性云服务器上,上传客户端工具包并配置gsql的执行环境变量。
      1. 以root用户登录客户端机器。
      2. 创建“/tmp/tools”目录。
        mkdir /tmp/tools
      3. 解压GaussDB软件包“GaussDB_driver.zip”。
      4. 根据申请的弹性云服务器的操作系统架构进入不同目录,获取“GaussDB-Kernel-VxxxRxxxCxx-EULER-64bit-gsql.tar.gz”,并上传到申请的弹性云服务器“/tmp/tools”路径下。
        说明:

        软件包相对位置为安装时所放位置,根据实际情况填写。

        cd GaussDB_driver/Centralized/Euler2.5_X86_64/
        cp GaussDB-Kernel-VxxxRxxxCxx-EULER-64bit-gsql.tar.gz /tmp/tools
      5. 解压文件。
        cd /tmp/tools
        tar -zxvf GaussDB-Kernel-VxxxRxxxCxx-EULER-64bit-gsql.tar.gz
      6. 设置环境变量。

        打开“~/.bashrc”文件。

        vi ~/.bashrc

        按下i键进入INSERT模式,在其中输入如下内容后,单击“ESC”退出编辑模式,使用“:wq!”命令保存并退出。

        export PATH=/tmp/tools/bin:$PATH
        export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH
        使环境变量配置生效。
        source ~/.bashrc
    3. 执行如下指令,根据提示输入密码,连接数据库。

      数据库创建成功后,会默认生成名称为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. 单击管理控制台左上角的,选择区域和项目。

      1. 在页面左上角单击,选择“数据库 > 云数据库 GaussDB”。进入云数据库 GaussDB信息页面。




      2. 在“实例管理”页面,单击实例名称进入“基本信息”页面,单击“数据库信息”模块“SSL”处的,下载根证书或捆绑包。
      3. 将根证书上传至需连接GaussDB实例的弹性云服务器,或保存到可访问数据库实例的设备。


        将根证书导入弹性云服务器Linux操作系统,请参见将根证书导入Windows/Linux操作系统


      4. 连接GaussDB实例。


        以Linux系统为例,在弹性云服务器设置环境变量,执行如下命令。

        export PGSSLMODE=<sslmode>
        export PGSSLROOTCERT=<ca-file-directory>


        gsql -h <host> -p <port> -d <database> -U <user>

        表2 参数说明

        参数

        说明

        <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)
    1. 在页面左上角单击,选择“数据库 > 云数据库 GaussDB”。进入云数据库 GaussDB信息页面。

    2. 在“实例管理”页面,单击实例名称进入“基本信息”页面,单击“数据库信息”模块“SSL”处的,下载根证书或捆绑包。
    3. 将根证书上传至需连接GaussDB实例的弹性云服务器,或保存到可访问数据库实例的设备。

      将根证书导入弹性云服务器Linux操作系统,请参见将根证书导入Windows/Linux操作系统

    4. 连接GaussDB实例。
      以Linux系统为例,在弹性云服务器设置环境变量,执行如下命令。
      export PGSSLMODE=<sslmode>
      export PGSSLROOTCERT=<ca-file-directory>

      gsql -h <host> -p <port> -d <database> -U <user>

      表2 参数说明

      参数

      说明

      <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)

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论