opengauss6.0.2可以在openEuler-24.03下安装?
已经装了好几套,单节点服务器安装,目前没有什么问题,但是双节点安装一直无法成功,报host错误
好的,谢谢!我用ptk安装成功了,但不知是什么原因,create user , create datebase 等都没用,其它机子也访问不了。关了防火啬,也在pg_hba.conf设置了相关内容。还请赐教.
你在 OpenEuler 上用 PTK 安装 openGauss 后,出现 CREATE USER、CREATE DATABASE 无效,且其他机器无法访问的问题,可能由以下几类原因导致,建议按顺序排查:
1. 当前用户权限不足
openGauss 安装后默认使用 omm 用户运行,必须使用 omm 用户登录数据库才能执行 CREATE USER 等 DDL 操作。
- 检查当前登录用户:
whoami
如果不是 omm,请切换:
su - omm
- 登录数据库:
gsql -d postgres -p 5432 -r
2. 用户未授予登录权限
openGauss 中,CREATE USER 实际上是 CREATE ROLE 的别名,但如果用 CREATE ROLE 手动创建用户,默认没有 LOGIN 权限。
- 检查用户是否有登录权限:
\du
没有 Login 属性的用户无法登录数据库。
- 授权方式:
ALTER ROLE youruser LOGIN;
3. 数据库监听配置未生效
即使你修改了 pg_hba.conf,如果数据库监听地址仍然是 localhost,外部机器也无法访问。
- 查看监听地址:
gs_guc check -D $PGDATA -c "listen_addresses"
- 如果返回的是
localhost,需要修改为*或具体 IP:
gs_guc set -D $PGDATA -c "listen_addresses='*'"
- 重启数据库使配置生效:
gs_ctl restart -D $PGDATA -Z single_node
4. pg_hba.conf 配置未生效或格式错误
openGauss 推荐使用 gs_guc 命令修改认证规则,避免手动编辑出错。
- 添加允许所有 IP 的访问规则(使用 SHA256 加密):
gs_guc reload -h "host all all 0.0.0.0/0 sha256"
注意:默认 password_encryption_type=2,必须使用 sha256,否则认证会失败。
5. 防火墙或 SELinux 未完全关闭
虽然你提到已关闭防火墙,但仍建议确认:
- 检查防火墙状态:
systemctl status firewalld
- 检查 SELinux:
getenforce
如果是 Enforcing,建议临时关闭:
sudo setenforce 0
6. 端口未开放或端口冲突
确认 openGauss 实际监听的端口:
- 查看监听端口:
netstat -tunlp | grep 5432
- 确保没有被其他服务占用,或配置文件中未误设端口。
7. 检查是否使用 gsql 连接方式错误
外部机器连接时,请使用如下命令:
gsql -h <DB_IP> -p 5432 -U <用户名> -d postgres
注意:-h 不能省略,否则默认走 Unix socket,无法远程连接。
8. 查看数据库日志
如果上述都排查无果,建议查看数据库日志获取更详细的错误信息:
cat $PGDATA/pg_log/*.log
总结排查顺序
排查项 命令或操作
当前用户是否为 omm whoami
用户是否有 LOGIN 权限 \du
是否监听所有地址 gs_guc check -D $PGDATA -c "listen_addresses"
是否配置远程访问 gs_guc reload -h "host all all 0.0.0.0/0 sha256"
防火墙/SELinux 状态 systemctl status firewalld / getenforce
外部连接命令是否正确 gsql -h <IP> -U <user> -d postgres
如你完成以上步骤仍有问题,请贴出以下信息,我可以进一步帮你定位:
pg_hba.conf中相关配置行listen_addresses的值gsql外部连接报错信息- 日志中最近一次报错内容
pg_hba.conf
我设的是
host all all 0.0.0.0/0 md5
不懂是不是这个
而且没看到
password_encryption_type = 0 # 0=md5 1=sha256 2=sm3 3=all
还有就是注意改完加密方式以后,需要重新修改数据库登录账号的密码才能启用新的加密方式。
还有一点忘记说了,omm账号好像不能远程登录的,你需要新建一个数据库账号,可以给它管理员权限,然后用新建的数据库账号远程登录