datagrip利用jdbc连接opengauss转测版本
1.jdbc连接教程
本案例主要讲解如何用datagrip连接opengauss
正式版本应该是同样的方法,笔者未尝试
首先资源准备
1.在opengauss的转测包地址中找到最新的转测包和jdbc驱动
此为转测包地址

opengauss应该是预先安装好的,怎么安装我这里不赘述,这里主要演示怎么在datagrip用jdbc连接opengauss。
2.首先要查看当前opengauss是否可以接收外部的连接
1.先进postgresql.conf中去搜索listen_addresses,这个文件一般存在数据库实例里,可以用find -name postgresql.conf查找,可以看到默认指定的是 localhost,10.XXX.X.XX 这是本机ip,还有默认端口是15400,想要别的地方的客户端连接上这个数据库那就需要将listen_addresses的参数改为 *,记的wq保存

2.然后去pg_hba.conf中检查一下允许外部ip连接的记录

查找ipv4,可以看到,当前只能允许本机ip连接。我们需要修改配置让所有的ip都允许连接添加以下代码:
host all all 0.0.0.0/0 md5

0.0.0.0/0指的是所有的ip都被允许连接。md5指的是连接信息的加密方式。调整完以后需要重启服务(gs_om -t stop/start)
3.创建数据库和用户
用户名:test1
密码:Test_123
数据库:tonumber
CREATE ROLE test1 WITH PASSWORD 'Test_123';
ALTER ROLE test1 WITH SYSADMIN;
CREATE DATABASE tonumber;
4.准备jdbc环境
进入datagrip选择postgres然后点击右边的driver


将自己下载好的两个驱动添加进来


这个时候test connection 会报错
提示密码错误,经过网上查找问题是因为连接方式加密方法的问题,上面有提到我对所有的ip采用的是md5。我们可以改变postgresql.conf这个文件中的password_encryption_type参数,用find -name postgresql.conf来到这个文件
这里有四个解决方案,因为本人仅测试用,所以将参数改为1,兼容性较好,可以按需选择
password_encryption_type设置为0时,表示采用md5方式对密码加密。MD5加密算法安全性低,存在安全风险,不建议使用。
password_encryption_type设置为1时,表示采用sha256和md5方式对密码加密。MD5加密算法安全性低,存在安全风险,不建议使用。
password_encryption_type设置为2时,表示采用sha256方式对密码加密,为默认配置。
password_encryption_type设置为3时,表示采用sm3方式对密码加密。

这里可以看到默认值为2,我们需要将其改为1.
然后在服务器上重启服务
gs_om -t restart

再次尝试,还是提示密码错误
经过网上查阅资料,是因为改变加密方式后只会对后创建的用户或者改变密码的用户生效,对以前的用户是不生效的,所以我们这里改一下test1用户的密码

如果登陆不上可能是未给test1用户赋予可以登录的权限。
openGauss=# ALTER ROLE test1 LOGIN;
若依然无法连接请检查端口是否对外开放和防火墙是否对外开放此端口
本文借鉴于此文章:
DataStudio连接opengauss报错Invalid username/password,login denied_datastudio连接opengauss数据库连接报错-CSDN博客
以上作者,在此鸣谢
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐

所有评论(0)