gsql客户端连接

    1. 以操作系统用户omm登录数据库主节点。
    2. 使用“gs_om -t status —detail”命令查询openGauss各实例情况。

      1. node node_ip instance state
      2. -----------------------------------------------------------------------------
      3. 1 plat1 192.168.0.11 5001 /srv/BigData/gaussdb/data1/dbnode Normal

      如上部署了数据库主节点实例的服务器IP地址分别为192.168.0.11。数据库主节点数据路径为“/srv/BigData/gaussdb/data1/dbnode”。

    3. 确认数据库主节点的端口号。

      在中查到的数据库主节点数据路径下的postgresql.conf文件中查看端口号信息。示例如下:

      1. cat /srv/BigData/gaussdb/data1/dbnode/postgresql.conf | grep port
      1. port = 8000 # (change requires restart)
      2. #comm_sctp_port = 1024 # Assigned by installation (change requires restart)
      3. #comm_control_port = 10001 # Assigned by installation (change requires restart)
      4. # supported by the operating system:
      5. # %r = remote host and port
      6. alarm_report_interval = 10
      7. support_extended_features=true

      8000为数据库主节点的端口号。

    gsql是openGauss提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何使用gsql连接数据库,关于gsql使用方法的更多信息请参考gsql。

    注意事项

    缺省情况下,客户端连接数据库后处于空闲状态时会根据参数session_timeout的默认值自动断开连接。如果要关闭超时设置,设置参数session_timeout为0即可。

    已确认连接信息。

    本地连接数据库

    1. 以操作系统用户omm登录数据库主节点。
    2. 连接数据库。

      数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。

      执行如下命令连接数据库。

      1. gsql -d postgres -p 8000

      其中postgres为需要连接的数据库名称,8000为数据库主节点的端口号。请根据实际情况替换。

      连接成功后,系统显示类似如下信息:

      1. gsql ((openGauss x.x.x build 290d125f) compiled at 2020-05-08 02:59:43 commit 2143 last mr 131
      2. Non-SSL connection (SSL connection is recommended when requiring high-security)
      3. Type "help" for help.
      4. openGauss=#

      omm用户是管理员用户,因此系统显示“DBNAME=#”。若使用普通用户身份登录和连接数据库,系统显示“DBNAME=>”。

      “Non-SSL connection”表示未使用SSL方式连接数据库。如果需要高安全性时,请使用SSL连接。

    3. 首次登录建议修改密码。命令如下。

    4. 退出数据库。

      1. openGauss=# \q

    gsql是openGauss提供的在命令行下运行的数据库连接工具。此工具除了具备操作数据库的基本功能,还提供了若干高级特性,便于用户使用。本节只介绍如何安装gsql客户端,使用gsql客户端连接数据库,更多配置请参见openGauss产品文档。

    通过gs_guc配置白名单

    1. 以操作系统用户omm登录数据库主节点。
    2. 配置客户端认证方式,允许客户端以“jack”用户连接到本机,此处远程连接禁止使用“omm”用户(即数据库初始化用户)。

      例如,下面示例中配置允许IP地址为10.10.0.30的客户端访问本机。

      说明:

      • 使用“jack”用户前,需先本地连接数据库,并在数据库中使用如下语句建立“jack”用户:

        1. openGauss=# CREATE USER jack PASSWORD 'Test@123';
      • -N all表示openGauss的所有主机。

      • -I all表示主机的所有实例。

      • -h表示指定需要在“pg_hba.conf”增加的语句。

      • all表示允许客户端连接到任意的数据库。

      • jack表示连接数据库的用户。

      • 10.10.0.30/32表示只允许IP地址为10.10.0.30的主机连接。此处的IP地址不能为openGauss内的IP,在使用过程中,请根据用户的网络进行配置修改。32表示子网掩码为1的位数,即255.255.255.255。

      这条命令在数据库主节点实例对应的“pg_hba.conf”文件中添加了一条规则,用于对连接数据库主节点的客户端进行鉴定。

      “pg_hba.conf”文件中的每条记录可以是下面四种格式之一,四种格式的参数说明请参见《开发者指南》中“管理数据库安全>客户端接入认证>配置文件参考”章节。

      1. local DATABASE USER METHOD [OPTIONS]
      2. host DATABASE USER ADDRESS METHOD [OPTIONS]
      3. hostssl DATABASE USER ADDRESS METHOD [OPTIONS]
      4. hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]

      因为认证时系统是为每个连接请求顺序检查“pg_hba.conf”里的记录的,所以这些记录的顺序是非常关键的。

      gsql客户端连接 - 图2 说明: 在配置“pg_hba.conf”文件时,请依据通讯需求按照格式内容从上至下配置记录,优先级高的需求需要配置在前面。openGauss和扩容配置的IP优先级最高,用户手动配置的IP请放在这二者之后,如果已经进行的客户配置和扩容节点的IP在同一网段,请在扩容前删除,扩容成功后再进行配置。

      因此对于认证规则的配置建议如下:

      • 靠前的记录有比较严格的连接参数和比较弱的认证方法。
      • 靠后的记录有比较宽松的连接参数和比较强的认证方法。

      说明:

      • 一个用户要想成功连接到特定的数据库,不仅需要通过pg_hba.conf中的规则检查,还必须要有该数据库上的CONNECT权限。如果希望控制某些用户只能连接到指定数据库,赋予/撤销CONNECT权限通常比在pg_hba.conf中设置规则更为简单。

    在客户端机器上,上传客户端工具包并配置gsql的执行环境变量。

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

      1. mkdir /tmp/tools
    3. 获取软件安装包中的“openGauss-x.x.x-openEuler-64bit-Libpq.tar.gz”上传到“/tmp/tools”路径下。

      gsql客户端连接 - 图4 说明:

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

      • 不同的操作系统,工具包文件名称会有差异。请根据实际的操作系统类型选择对应的工具包。

    4. 解压文件。

    5. 登录数据库主节点所在的服务器,拷贝数据库安装目录下的bin目录到客户端主机的“/tmp/tools”路径下,随后继续登录客户端主机执行步骤6操作。

      1. scp -r /opt/huawei/install/app/bin root@10.10.0.30:/tmp/tools

      其中,/opt/huawei/install/app为clusterconfig.xml文件中配置的{gaussdbAppPath}路径,10.10.0.30为客户端主机ip。

    6. 设置环境变量。

      打开“~/.bashrc”文件。

      1. vi ~/.bashrc

      在其中输入如下内容后,使用“:wq!”命令保存并退出。

      1. export PATH=/tmp/tools/bin:$PATH
      2. export LD_LIBRARY_PATH=/tmp/tools/lib:$LD_LIBRARY_PATH
    7. 使环境变量配置生效。

    8. 连接数据库。

      数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。

      1. gsql -d postgres -h 10.10.0.11 -U jack -p 8000 -W Test@123

      postgres为需要连接的数据库名称,10.10.0.11为数据库主节点所在的服务器IP地址,jack为连接数据库的用户,8000为数据库主节点的端口号,Test@123为连接数据库用户jack的密码。

      说明:

      • 连接openGauss的机器与openGauss不在同一网段时,-h指定的IP地址应为Manager界面上所设的coo.cooListenIp2(应用访问IP)的取值。