无论是用哪个连接之前都需要先做如下前四步配置:
一、配置pg_hba.conf
1、首先使用su - omm登录到omm用户,然后进入到存放数据的文件夹(我的OpenGauss数据库在/gaussdb/data/db1这个路径下),编辑pg_hba.conf文件。
su - omm
cd /gaussdb/data/db1
vi pg_hba.conf
2、在pg_hba.conf文件里添加如下两行,加密方式为md5,若是已经存在看一下后面的家吗方式是否是md5。
host all all 127.0.0.1/32 md5
host all all 0.0.0.0/0 md5
大概放到这个位置就行,wq保存。
二、修改加密方式
1、修改同文件夹下的postgresql.conf文件
vi postgresql.conf
2、找到listen_address,将它的的值改为*,如下:
3、同目录下删掉password_encryption_type前面的#,且赋值0(即加密方式设为md5)
找不到的可用快捷查找,Esc键退出insert模式,进入vi的命令行模式,
输入:/password_encryption_type,如下,
修改为零0,删掉password_encryption_type前面的#。
4、使用gs_om -t restart命令重启数据库,使配置生效。
gs_om -t restart
三、修改用户密码
1、输入gsql -d postgres -p 26000 -r命令开启数据库。
gsql -d postgres -p 26000 -r
2、修改用户名为test的用户密码(也可以对数据库的其他用户修改密码),这里注意新旧密码不能相同,否则不能修改成功,也不能改为之前用过的密码,我改的新密码是openGauss@1234,密码要满足至少8位,含大小写英文,特殊字符。
alter user test identified by 'openGauss@1234'
3、若出现如下情况,表示用户不存在,需先创建用户,我这里存在test固用test1做示范报错情况。
命令如下:
CREATE USER test1 IDENTIFIED BY 'openGauss@1234';
提示MD5加密,即成功生效:
4.关闭防火墙,查看是否关闭
systemctl stop firewalld
systemctl status firewalld
5.测试连接(根据需求选择navicat、idea、datagrip)
5.1navicat连接openGauss
1、上面的连接名自己随便取一个,依次输入虚拟机的ip,端口一般为26000,初始数据库也可为postgres这个不用改,也可为其他的数据库,用户名为前面修改了密码的test,密码为openGauss@1234,然后点测试连接。
2、若出现如下报错:could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "10.168.89.166" and accepting TCP/IP connections on port 26000?
解决办法:
检查前面3步的配置是否正确,检查防火墙是否关闭,ls -l查看所有的文件尤其是pg_hba.conf和postgresql.conf,这两个文件是否属于omm而不是root,若是属于root下,先删除该文件,再在该目录下重新创建该文件。
3、出现如下报错:fe sendauth: invalid authentication reguest from server: AUTH REQ SASL CONT withoUt AUTH REQ SASI。
解决办法:
修改数据库的密码,重新连接,因为上面的配置文件包含加密方式,如果之前的密码不满足(至少8位,英文大小写,特殊字符)就会一直报上面的错。
alter user test password 'openGauss@1234';
5.2IDEA连接openGauss
1、打开idea依次点击右边栏的Database > 加号“+” > Data source > PostgreSQL,如图箭头所指。
2、依次输入虚拟机的Host即虚拟机ip,端口Port一般为26000,用户名为前面修改了密码的test,密码为上面修改了之后的openGauss@1234,若在Test Connection上面还显示了一个黄色的Download,点击之后再点击Test Connection测试连接。
3、点击Test Connection 连接,如下出现绿色的箭头表示连接成功,点击OK:
4、若出现如下报错:could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "10.168.89.166" and accepting TCP/IP connections on port 26000?
解决办法:
检查前面3步的配置是否正确,检查防火墙是否关闭,ls -l查看所有的文件尤其是pg_hba.conf和postgresql.conf,这两个文件是否属于omm而不是root,若是属于root下,先删除该文件,再在该目录下重新创建该文件。
5、出现如下报错:fe sendauth: invalid authentication reguest from server: AUTH REQ SASL CONT withoUt AUTH REQ SASI。
解决办法:
修改数据库的密码,重新连接,因为上面的配置文件包含加密方式,如果之前的密码不满足(至少8位,英文大小写,特殊字符)就会一直报上面的错。
alter user test password 'openGauss@1234';
5.3DataGrip连接OpenGauss数据库
1、连接方式与上面5.2IDEA的连接方式类似,
2、依次输入虚拟机的Host即虚拟机ip,端口Port一般为26000,用户名为前面修改了密码的test,密码为上面修改了之后的openGauss@1234,若在Test Connection上面还显示了一个黄色的Download,点击之后再点击Test Connection测试连接。
3、显示为绿色的Succeeded即为连接成功,点击ok就可以了。
4、若出现如下报错:could not connect to server: Connection timed out (0x0000274C/10060) Is the server running on host "10.168.89.166" and accepting TCP/IP connections on port 26000?
解决办法:
检查前面3步的配置是否正确,检查防火墙是否关闭,ls -l查看所有的文件尤其是pg_hba.conf和postgresql.conf,这两个文件是否属于omm而不是root,若是属于root下,先删除该文件,再在该目录下重新创建该文件。
5、出现如下报错:fe sendauth: invalid authentication reguest from server: AUTH REQ SASL CONT withoUt AUTH REQ SASI。
解决办法:
修改数据库的密码,重新连接,因为上面的配置文件包含加密方式,如果之前的密码不满足(至少8位,英文大小写,特殊字符)就会一直报上面的错。
alter user test password 'openGauss@1234';
还有其他问题和需求欢迎留言,我看到了会第一时间回复。
openEuler和openGauss安装教程可以参考博客我的其他博客:http://t.csdnimg.cn/1GwkI