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

MogDB gsql客户端连接

mogdb 2021-04-14
162

确认连接信息

客户端工具通过数据库主节点连接数据库。因此连接前,需获取数据库主节点所在服务器的IP地址及数据库主节点的端口号信息。

操作步骤

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

  2. 使用"gs_om -t status --detail"命令查询MogDB各实例情况。

     gs_om -t status --detail
    复制
     [  Datanode State   ]
     node                 node_ip         instance                state
     ---------------------------------------------------------------------------------
     1  mogdb-kernel-0005 172.16.0.176    6001 /mogdb/data/db1 P Primary Normal
    复制

    如上部署了数据库主节点实例的服务器IP地址为172.16.0.176。数据库主节点数据路径为"/mogdb/data/db1"。

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

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

     cat /mogdb/data/db1/postgresql.conf | grep port
    复制
     port = 26000    # (change requires restart)
     #comm_sctp_port = 1024   # Assigned by installation (change requires restart)
     #comm_control_port = 10001  # Assigned by installation (change requires restart)
           # supported by the operating system:
           # e.g. 'localhost=10.145.130.2 localport=12211 remotehost=10.145.130.3 remoteport=12212, localhost=10.145.133.2 localport=12213 remotehost=10.145.133.3 remoteport=12214'
           # e.g. 'localhost=10.145.130.2 localport=12311 remotehost=10.145.130.4 remoteport=12312, localhost=10.145.133.2 localport=12313 remotehost=10.145.133.4 remoteport=12314'
           #   %r = remote host and port
     alarm_report_interval = 10
     support_extended_features=true
    复制

    第一行中的26000为数据库主节点的端口号。


使用gsql本地连接

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


注意事项

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


前提条件

已确认连接信息。


本地连接数据库

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

  2. 连接数据库。

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

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

     gsql -d postgres -p 26000
    复制

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

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

     gsql ((MogDB 2.0.1 build f892ccb7) compiled at 2021-07-09 16:12:59 commit 0 last mr  )
     Non-SSL connection (SSL connection is recommended when requiring high-security)
     Type "help" for help.
     postgres=#
    复制

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

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

  3. 退出数据库。

     postgres=# \q
    复制


使用gsql远程连接

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


前提条件

已确认连接信息。


通过gs_guc配置白名单

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

  2. 配置客户端认证方式,允许客户端以"jack"用户连接到本机,此处远程连接禁止使用"omm"用户(即数据库初始化用户)。

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

     gs_guc set -N all -I all -h "host all jack 172.16.0.245/24 sha256"
    复制

    img 说明:

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

        postgres=# CREATE USER jack PASSWORD 'Test@123';
      复制
    • -N all表示MogDB的所有主机。

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

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

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

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

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

    • sha256表示连接时jack用户的密码使用sha256算法加密。

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

    "pg_hba.conf"文件中的每条记录可以是下面四种格式之一。

     local     DATABASE USER METHOD [OPTIONS]
     host      DATABASE USER ADDRESS METHOD [OPTIONS]
     hostssl   DATABASE USER ADDRESS METHOD [OPTIONS]
     hostnossl DATABASE USER ADDRESS METHOD [OPTIONS]
    复制

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

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

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

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

    img 说明:

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

    • 对应MogDB外部客户端连接,trust为不安全的认证方式,请将认证方式设置为sha256。


安装gsql客户端并连接数据库

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

  1. 以任意用户登录客户端机器。

  2. 创建"/opt/mogdb/tools"目录。

     mkdir /opt/mogdb/tools
    复制
  3. 获取软件安装包中的"MogDB-2.0.1-openEuler-64bit-tools.tar.gz"上传到"/opt/mogdb/tools"路径下。

    img 说明:

    • 软件包相对位置为安装时所放位置,根据实际情况填写。
    • 不同的操作系统,工具包文件名称会有差异。请根据实际的操作系统类型选择对应的工具包。
  4. 解压文件。

     cd /opt/mogdb/tools
     tar -zxvf MogDB-2.0.1-openEuler-64bit-tools.tar.gz
    复制
  5. 设置环境变量。

    打开"~/.bashrc"文件。

     vi ~/.bashrc
    复制

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

     export PATH=/opt/mogdb/tools/bin:$PATH
     export LD_LIBRARY_PATH=/opt/mogdb/tools/lib:$LD_LIBRARY_PATH
    复制
  6. 使环境变量配置生效。

     source ~/.bashrc
    复制
  7. 连接数据库。

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

     gsql -d postgres -h 172.16.0.176 -U jack -p 26000 -W Test@123
    复制

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

    img 说明:

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

评论