文章有点长,因为是真正的从零开始部署,包含了在windows上安装VMware,轻量版 / 企业版部署OpenGauss,安装Finalshell,配置静态IP,IDEA远程连接等等内容,这些内容通常可以分 好几篇文章 来写,现在一篇文章全部搞定。
1、安装VMware
VMware官网下载:https://pan.baidu.com/s/11G2mf7-GdHXyBKLxWSCF0g?pwd=yos9
1、开始安装
2、一直点击下一步,直到“自定义安装路径”,将选项勾上,更改路径至自己找得到的位置
3、取消勾选更新选项
4、勾选这两个选项,继续下一步
5、点击“安装”
6、安装完成
7、选择“个人用途”,输入公共密钥(网上搜)
8、点击“完成”即可
2、安装OpenEuler和OpenGauss
进入官网:openEuler下载 | openEuler ISO镜像 | openEuler社区
选择“x86_64架构“,“服务器”,选择最小化系统安装,点击“立即下载”
下载完成之后得到这个文件:
打开VMware,选择“创建新的虚拟机”
选择“自定义”
选择17.x
选择“稍后操作系统”
选择Linux,和Linux5.x内核 64 位
更改虚拟机名称,建议直接叫“OpenEuler22.03”,虚拟机目录最好不要装c盘
处理器和内核都选择2
内存选择4G
选择“NAT模式”
选择“LSI Logic(L)”
选择“SCSI”
选择“创建新的虚拟磁盘“
磁盘容量设置为40G,选择“将虚拟磁盘存储为单个文件”
磁盘文件命名,直接叫“OpenEuler22.03.vmdk”即可
选择“自定义硬件”
移除“打印机”
选择“新CD/DVD(IDE)”,选择“使用ISO映像文件”
选择之前下好的映像文件
选择完成之后,选择关闭即可
选择“完成”
选择“开启虚拟机”
首次启动稍等一下(因为我之前建过OpenEuler22.03,已经初始化过了,所以下面我用的新建“test”来演示初始化,你们不用管这个)
选择“中文”,“继续”
需要修改的地方有四个
安装目的地:点进去直接点击“完成”即可
语言支持:选择“中文”和“英文”,点击“完成”
软件选择:“服务器”,“OpenGauss数据库“。(这里是选择使用OpenEuler系统自带的脚本来安装OpenGauss)
忘记选择的可以输入脚本进行安装:
yum install opengauss -y
脚本安装默认是 轻量版,如果想安装 企业版,这一步就不要勾选 ,安装好OpenEuler之后,直接看下面的文章(OpenGauss企业版安装)
网络和主机名:开启以太网
修改完成之后选择“root账户”
“启用root账户”,设置好密码
“开始安装”,有点久,大概十几分钟
“重启系统“
进入到登录界面,输入账号(root)和密码(密码输入不会显示,这是Linux系统的特性,正常输入就好)
登录成功
(2.1)OpenGauss企业版安装
在OpenEuler安装过程已经选择脚本安装的不用看
3、安装finalshell
安装这个的主要原因是方便输入命令,直接使用原生态的终端无法使用鼠标,代码的复制粘贴也不方便,而且没有滚轮,没法查看之前的历史信息(只能看到目前屏幕显示的信息,当输入新的命令之后,就会刷掉之前的信息,不能查看)。
如果你有其它的办法解决上面的问题,或者说你不在意上面的问题,可以选择不安装
Windows X64版,下载地址:
https://dl.hostbuf.com/finalshell3/finalshell_windows_x64.exe
安装过程很简单,一直下一步就好了
启动程序之后点击文件夹
“SSH连接”
输入“名称”,“用户名”,“密码”(就是之前OpenEuler的账户密码)
主机号我们需要回到VMware进行获取
输入下面命令查询ip
ip addr show
ens33中inet后面的数字就是我们需要的,我这里是192.168.200.130
将它输入到finalshell中,点击确定
点击我们创建的远程连接
选择“接受并保存”
连接成功(通过finalshell我们还可以从下面显示栏看到OpenEuler系统拥有的文件)
4、配置静态IP
首先要返回到初始账户 root(已经是的就不用输入了)
\q -- 断开数据库连接
exit -- 退出OpenGauss用户
当命令输入行变回了下面样子,就是回到了root账户了
[root@localhost ~]#
开始编辑网络文件
# 打开配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
需要修改下面属性,其中IPADDR、NETMASK、GATEWAY的值要根据自己情况而定
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.200.130
NETMASK=255.255.255.0
GATEWAY=192.168.200.2
DNS1=8.8.8.8
DNS2=114.114.114.114
1、IPADDR 的值尽量要和finalshell远程连接OpenEuler的值一致,这样可以避免IP被占用,也可以避免finalshell断开连接
:不知道可以看看系统刚启动时的提示信息,就是IP address值
2、GATEWAY 的值要与默认网关一致
# 查看默认网关
ip route show | grep default
3、NATMASK要与IPADDR的值对应
从上面IPADDR和GATEWAY两个值之间没有变化的部分可以知道192.168.200为网络部分,所以对应的NATMASK的值是255.255.255.0(没有变化的部分写255,变化的部分写0)
配置完成,按【i】键进入编辑状态,保存并退出配置文件编辑(在 vi 中,按 Esc 键,输入 :wq 并回车)
保存完成之后要使其生效
# 重启网卡
ifdown ens33
ifup ens33
5、测试OpenGauss数据库
1、输入命令,将用户切换到opengauss
su - opengauss -- 切换用户
"#"变成了“$”就是切换成功了
2、输入命令,查看OpenGauss的所有数据库
gsql -l --查询OpenGauss所有数据库
第一次输入有错误:failed to connect Unknown:7654.
这里其实是OpenGauss还没有启动
我们需要先输入exit,退出OpenGauss账户,再进行启动
exit -- 退出账户
systemctl start opengauss -- 启动OpenGauss数据库
3、再次切换到OpenGauss账户,输入数据库查询语句
su - opengauss -- 切换用户
gsql -l -- 查询数据库
这回连接成功了,但是又有一个新的错误,这是因为OpenGauss用户首次使用,还没设置密码,这是安全机制要求,所有数据库用户必须设置密码后才能进行其他操作。所以我们需要设置密码
4、依次输入下面四条命令(密码可以自定义),再次查询数据库
gsql -d postgres -r -- 管理员身份连接数据库
ALTER ROLE opengauss PASSWORD 'YourSecurePass123!'; -- 设置管理员opengauss的密码
\q -- 断开数据库连接
gsql -l --查询数据库
这次可以看到查出来三个默认的数据库:postgres、template0、template1
5、创建其他数据库用户帐号(IDEA也只能用创建的账户来连,我也不知道为什么)
# 使用初始管理员连接数据库
gsql -d postgres -r
# 创建名为 yang 的账户,并设置密码
CREATE USER yang WITH PASSWORD "opengauss@1234";
这样子显示就是创建成功了
为这个账户赋予权限
# 将名为 yang 的用户设为系统管理员
GRANT ALL PRIVILEGES TO yang;
成功提示
6、创建数据库
# 创建一个名为 db_tpcc 的数据库,指定拥有者为 yang
CREATE DATABASE db_tpcc OWNER yang;
检查是否创建成功
\q -- 断开连接
gsql -l -- 查询数据库
已经创建成功
7、使用创建的账户连接数据库
# 查看数据库的端口号
grep port /var/lib/opengauss/data/postgresql.conf
看到了端口号为7654
# 使用 yang 账号来连接数据库 db_tpcc 指定端口号为 7654
gsql -d db_tpcc -p 7654 -U yang -r
连接成功
8、创建表
# 创建名为 people 的表,有name和age两个属性
CREATE TABLE people (name varchar(10),age int);
看看是否创建成功
# 查看当前数据库中public架构的表
\dt
-- 查看 public 模式下的 people 表结构
\d public.people
可以看出来已经成功了
9、插入、查询数据
# 插入一条数据
INSERT INTO people values ('剑魔',34);
# 查询数据
SELECT * FROM people;
到此测试完毕。
6、IDEA连接OpenGauss数据库(可选)
使用 IDEA 来连接主要是因为有图形化界面,操作方便,如果你喜欢用命令行,可以忽略
1、启动OpenGauss服务
systemctl start opengauss
2、修改 postgresql.conf 文件
输入命令,进入文件(路径要根据实际情况,找到安装OpenGauss的地方,找到data文件夹中的postgresql.conf)
vi /var/lib/opengauss/data/postgresql.conf
进入文件之后使用查询(VMware好像没有这个功能),关键字为:listen_addresses
找到匹配项:
需要修改三个地方
listen_addresses = '*' # 允许所有IP连接
port = 7654 # 确保端口与连接命令一致
password_encryption_type = 0 #启用md5加密
修改完成,保存
注意:要把前面的 # 删掉,# 的意思是注释,删掉了才能生效
3、修改访问权限pg_hba.conf
输入命令,进入文件(路径要根据实际情况,找到安装OpenGauss的地方,找到data文件夹中的pg_hba.conf)
vi /var/lib/opengauss/data/pg_hba.conf
划到最下面,找到IPv4,在这里加入一行代码
# 允许所有IPv4地址通过密码连接
host all all 0.0.0.0/0 md5
4、重启服务,让配置生效
systemctl restart opengauss
5、关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
6、测试是否可以连接
su - opengauss
gsql -d people -p 7654 -U yang -r
连接成功,失败的检查一下前面的配置是否对了
7、windows 测试是否可以连接虚拟机
win + R
ping 192.168.200.130
连接成功就是这样
8、检查网络是否可用
ping baidu.com
网络可用,输入ctrl + c 停止,不然会一直运行
9、重新创建账户和数据库
这一步是因为之前已经修改了密码的加密原则,现在需要再次创一个用户用于连接
方法1:先将原来创建的账号和其持有的数据库删除,再重新创一次:
drop database db_tpcc; -- 删除yang账户持有的数据库
DROP USER IF EXISTS yang CASCADE; -- 删除yang用户
CREATE USER yang WITH PASSWORD "openGauss@1234"; -- 再次创建
GRANT ALL PRIVILEGES TO yang; -- 设为系统管理员
CREATE DATABASE db_tpcc OWNER yang; -- 创建db_tpcc数据库,指定yang为持有者
方法2:直接创建新的用户,记得数据库也要创建
10、VMware设置端口转发
编辑->虚拟机网络编辑器
添加
如图输入,按照自己的实际情况来
设置完成点击三次确定
11、打开IDEA,选择postgreSQL数据源
首次使用会提示没有驱动,点击“下载”就好了
输入主机名,端口号,用户,密码,数据库
测试连接
成功连接