提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、安装openEuler
- 1.创建虚拟机
- 2.安装openEuler系统
- 二、安装openGauss
- 1.设置openGauss
- 2.创建数据库用户并设置权限
- 3.设置防火墙
- 4.远程连接openGauss
- 总结
前言
近期要在openEuler上部署openGauss,在网上找资料,发现很难有一篇能从头到尾讲清楚如何部署使用的文章,最终也是一点一点的改才摸索出一个简单有效的方案,所以写一篇文章,希望能帮到有类似情况苦恼的哥们。
一、安装openEuler
我是在pve上安装的openEuler,事先已备好openEuler的镜像文件,这部分可以去找pve如何导入系统镜像的文章,镜像文件在官网上可以下载。
1.创建虚拟机
登录PVE,依此步骤创建虚拟机
名称一般使用你准备给这个虚拟机设置的ip地址
镜像选择openEuler,我用的是22.03版本
显卡默认
设置硬盘大小
设置cpu核心数
设置内存,单位为mb,用1024的倍数,我这里是8192
网络默认
然后确实,确认时勾选上创建后启动
接下来安装好的虚拟机就会启动,启动后开始安装openEuler
2.安装openEuler系统
双击安装好的虚拟机,进入安装页面,选择语言,选中文
进入摘要页面后,选择安装目的地,结合自己情况设置硬盘
然后设置软件选择,选择服务器,勾选openGauss,这样安装好的系统自带openGauss
设置网络和主机名,将以太网打开,点击配置
在配置中,按需配置,我这里是选择了ipv4手动配置,设置好了ip,子网掩码及网关,并配置了DNS,点击保存
设置用户根密码
完成后,点击开始安装,正式开始安装操作系统,等待安装完成后,点击重启系统,然后通过ssh或vnc进行连接进入操作系统,开始openGauss的安装。
二、安装openGauss
1.设置openGauss
由于安装系统时选择安装了openGauss,所以登录系统后系统已经有openGauss了,登录opengauss用户
su - opengauss
登录进去后,修改postgresql.conf文件,我这个版本的系统里,postgresql文件位置在~/data/,绝对路径是/var/lib/opengauss/data
vim /var/lib/opengauss/data/postgresql.conf
将其中的listen_addresses设置为*,高斯这里默认是 127.0.0.1,表示仅本地可以访问,设置为 * 意味着所有ip地址均可访问,包括远程地址。将password_encryption_type设置为1,这里这么做的目的是为了能让navicat通过连接postgresql的方式远程连接openGauss数据库,当设置为1时,意味着密码加密方式支持sha256和md5,其中因为兼容了md5,所以navicat才可以连接到openGauss
# 监听策略
listen_addresses = '*'
# 密码策略
password_encryption_type = 1
设置完成后,接下来设置pg_hba.conf,该文件与postgresql.conf文件在同一路径内,vim改文件后,在通行策略最后放上
host all all 0.0.0.0/0 md5
这个配置意味着所有用户在所有ip可以通过md5加密方式访问所有数据库,这样是不安全的,因为我是开发库所以权限开的很大。具体配置方式结合自身情况,参数讲解在这个文章里有PostgreSQL pg_hba.conf 配置
保存退出后,执行该命令重启openGauss
/usr/local/opengauss/bin/gs_ctl restart
看到最后打印这个结果就是重启成功了
2.创建数据库用户并设置权限
此时可以登录openGauss了
gsql -d postgres -r
显示如下信息证明登录成功,此时你无论做什么操作系统都会提示你需要先修改密码,例如我\l查看数据库列表,
这时需要通过命令设置opengauss用户的密码
ALTER USER opengauss IDENTIFIED BY "你要设置的密码";
命令执行结果如下,显示ALTER ROLE即为修改成功,其中NOTICE的提示信息是说用MD5加密不安全,不用管
然后创建一个新用户,opengauss这个数据库自带管理员用户是不允许远程访问的,我们创建一个测试用户
CREATE USER testuser IDENTIFIED BY '你要设置的密码';
创建成功后的信息
然后赋予该用户管理员权限
ALTER USER testuser SYSADMIN;
成功后的信息
退出数据库
\q
至此,数据库用户相关的已处理完成,接下来要设置防火墙。
3.设置防火墙
我这个版本的openEuler默认就有有iptables和firewalld两个防火墙管理工具,我这边的处理是停掉iptables,用firewalld设置通行策略,我这个openGauss是默认端口号7654,如果想要改端口号去postgresql.conf里修改。注意,修改防火墙的时候必须要退出opengauss用户,使用exit就可以回到root用户,然后如下执行命令
#暂时关闭iptables,想永久关闭的自己去关吧
systemctl stop iptables
#设置7654端口(openGauss的默认端口)的通行策略,结合自己的实际端口号来设置
firewall-cmd --zone=public --permanent --add-port=7654/tcp
设置成功后,会提示success,然后让firewalld重新加载,就可以尝试使用navicat来连接openGauss了。
firewall-cmd --reload
4.远程连接openGauss
这里我们使用navicat工具通过pg数据库的方式连接,点击连接,选择PostgreSQL
填写具体的ip,端口号,账号密码,初始数据库设置postgres,点击测试连接,成功
接下来就可以连接到数据库开始正常使用了
总结
以上就是本文章的全部内容,由于我们本次安装的opengauss是单机版的,很多网上查到的命令是无法使用的,例如guc相关命令,所以在设置远程连接时,才需要用到直接修改配置文件的方式,但是这个安装部署方案是我认为最简单直接的方案了,如果你想要部署分布式高斯,那这篇文章就不太适合你了。