签到成功

知道了

CNDBA社区CNDBA社区

openGauss 配置 远程连接

2023-03-10 23:05 2272 0 原创 openGauss
作者: dave

OpenGauss在安装好以后,我们可以直接在服务器上使用gsql 进行连接:

Linux 7.6 平台 openGauss 3.1.1 单机版 安装手册
https://www.cndba.cn/dave/article/116448

但如果我们想通过工具,比如DBeaver 或者从其他服务器进行远程连接的时候,就需要进行额外的配置,否则无法进行连接。 具体配置如下。

1 检查监听地址:listen_addresses

这里配置listen_addresses参数,listen_addresses即远程客户端连接使用的数据库主节点ip或者主机名。

查看数据库主节点目前的listen_addresses配置。 http://www.cndba.cn/dave/article/116480

[omm@www.cndba.cn dn]$ gs_guc check -I all -c "listen_addresses" 
The gs_guc run with the following arguments: [gs_guc -I all -c listen_addresses check ].
expected guc information: hf-172-31-101-18: listen_addresses=NULL: [/data/openGauss/install/data/dn/postgresql.conf]
gs_guc check: hf-172-31-101-18: listen_addresses='*': [/data/openGauss/install/data/dn/postgresql.conf]

Total GUC values: 1. Failed GUC values: 0.
The value of parameter listen_addresses is same on all instances.
    listen_addresses='*'

[omm@www.cndba.cn dn]$

我们这里是*,表示所有主机,不用修改,当然也可以严格限制为某些主机,命令如下:http://www.cndba.cn/dave/article/116480

gs_guc set -I all -c “listen_addresses=’localhost,192.168.0.100,10.11.12.13’”

2 修改配置文件

如果主机需要远程连接数据库,必须在数据库系统的配置文件(pg_hba.conf)中增加此主机的信息,并且进行客户端接入认证。hba(host-based authentication)表示是基于主机的认证。 http://www.cndba.cn/dave/article/116480

配置远程连接时需要再pg_hba.conf文件中添加数据库主节点ip和客户端ip。

  1. 添加数据库主节点ip到pg_hba.conf(默认有,可不执行):

    gs_guc reload [-Z datanode] -N all -I all -h “host all username 10.11.12.13/32 trust” http://www.cndba.cn/dave/article/116480

  2. 添加客户端ip到pg_hba.conf: http://www.cndba.cn/dave/article/116480

    gs_guc reload -N all -I all -h “host all cndba 172.31.101.17/32 sha256”

创建测试用户:cndbahttp://www.cndba.cn/dave/article/116480

[omm@www.cndba.cn ~]$ gsql -d postgres -p 15400
Password: 
gsql ((openGauss 3.0.3 build 46134f73) compiled at 2023-01-10 22:42:07 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

openGauss=# /l
                          List of databases
   Name    | Owner | Encoding  | Collate | Ctype | Access privileges 
-----------+-------+-----------+---------+-------+-------------------
 postgres  | omm   | SQL_ASCII | C       | C     | 
 template0 | omm   | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
 template1 | omm   | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
 ustc      | cndba | SQL_ASCII | C       | C     | 
(4 rows)

openGauss=# 
openGauss=# CREATE USER cndba PASSWORD 'cndba@123456'; 
openGauss=# /c ustc cndba
Password for user cndba: 
Non-SSL connection (SSL connection is recommended when requiring high-security)
You are now connected to database "ustc" as user "cndba".
ustc=>

查看cat pg_hba.conf 文件:

[omm@www.cndba.cn dn]$ pwd
/data/openGauss/install/data/dn
[omm@www.cndba.cn dn]$ cat pg_hba.conf
local     all       all                            sha256
host      all       all    127.0.0.1/32            sha256
host      all       all    0.0.0.0/0               md5       
host   replication  all    0.0.0.0/0               md5
[omm@www.cndba.cn dn]$

配置允许IP地址为172.31.101.17的客户端访问本机:

http://www.cndba.cn/dave/article/116480

[omm@www.cndba.cn dn]$ gs_guc reload -N all -I all -h "host all cndba 172.31.101.17/32 sha256" 
The gs_guc run with the following arguments: [gs_guc -N all -I all -h host all cndba 172.31.101.17/32 sha256 reload ].
Begin to perform the total nodes: 1.
Popen count is 1, Popen success count is 1, Popen failure count is 0.
Begin to perform gs_guc for datanodes.
Command count is 1, Command success count is 1, Command failure count is 0.

Total instances: 1. Failed instances: 0.
ALL: Success to perform gs_guc!

说明

-N all表示openGauss的所有主机。
-I all表示主机的所有实例。
-h表示指定需要在“pg_hba.conf”增加的语句。
all表示允许客户端连接到任意的数据库。
cndba表示连接数据库的用户。
172.31.101.17/32表示只允许IP地址为10.10.0.30的主机连接。此处的IP地址不能为openGauss内的IP,在使用过程中,请根据用户的网络进行配置修改。32表示子网掩码为1的位数,即255.255.255.255。
sha256表示连接时cndba用户的密码使用sha256算法加密。 http://www.cndba.cn/dave/article/116480

[omm@www.cndba.cn dn]$ cat pg_hba.conf
local     all       all                            sha256
host all cndba 172.31.101.17/32 sha256
host      all       all    127.0.0.1/32            sha256
host      all       all    0.0.0.0/0               md5       
host   replication  all    0.0.0.0/0               md5
[omm@www.cndba.cn dn]$

注意:

  1. 认证时系统是为每个连接请求顺序检查“pg_hba.conf”里的记录的,这些记录的顺序非常关键。
  2. pg_hba.conf的配置通过gs_guc reload命令修改后,在新创建会话时会生效。如果通过gs_guc set命令设置或直接编辑pg_hba.conf文件修改配置参数,需要重启数据库生效或重新执行gs_guc reload命令生效。

如果需要重启,参考之前的博客:

openGauss 数据库的启动和关闭
https://www.cndba.cn/dave/article/116477

3 验证

远程连接无法使用初始化的omm用户:

http://www.cndba.cn/dave/article/116480

[omm@www.cndba.cn ~]$  gsql -d postgres -p 15400 -h 172.31.101.18
gsql: FATAL:  Forbid remote connection with initial user.
FATAL:  Forbid remote connection with initial user.

使用业务用户cndba:http://www.cndba.cn/dave/article/116480

[omm@www.cndba.cn ~]$  gsql -d postgres -p 15400 -h 172.31.101.18 -U cndba
Password for user cndba: 
gsql ((openGauss 3.1.0 build 4e931f9a) compiled at 2022-09-29 14:19:24 commit 0 last mr  )
SSL connection (cipher: ECDHE-RSA-AES128-GCM-SHA256, bits: 128)
Type "help" for help.

openGauss=> /l
                          List of databases
   Name    | Owner | Encoding  | Collate | Ctype | Access privileges 
-----------+-------+-----------+---------+-------+-------------------
 postgres  |       | SQL_ASCII | C       | C     | 
 template0 |       | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
 template1 |       | SQL_ASCII | C       | C     | =c/omm           +
           |       |           |         |       | omm=CTc/omm
 ustc      | cndba | SQL_ASCII | C       | C     | 
(4 rows)

openGauss=>

4 小结

按官方手册,有3个配置的地方,如果不修改默认参数,实际只需要将远程连接的用户和IP地址添加到pg_hba.conf 文件即可:

gs_guc reload -N all -I all -h “host all cndba 172.31.101.17/32 sha256”

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2237
    原创
  • 3
    翻译
  • 544
    转载
  • 185
    评论
  • 访问:6556359次
  • 积分:4240
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ