准备工作
必要的东西
- VMware虚拟机安装包
- openEuler系统镜像(你可以从官网直接下载,建议使用Lts版本,我的版本为openEuler-24.03-LTS-SP2)
- openGuass安装包
当你已经准备好以上的东西你就可以开始部署了
首先打开VMware,点击上方工具栏中的编辑选项中的虚拟网络编辑器
在”虚拟网络编辑器”中,你可以看到当前的网络配置,这里我们可以看到VMnet1使用的是仅主机模式,VMnet8使用NAT模式,点击”确定”完成虚拟网络的基本配置。
创建虚拟机
接下来开始创建openEuler虚拟机,点击”创建新的虚拟机”开始向导。
在新建虚拟机向导中,选择”典型(推荐)“配置类型,这是最适合初学者的选项,点击”下一步”继续。
在”安装客户机操作系统”页面中,选择”安装程序光盘映像文件(iso)“,然后点击”浏览”按钮选择你下载好的openEuler ISO镜像文件,系统会显示”无法检测此光盘映像中的操作系统,您需要指定要安装的操作系统”这是正常的,点击”下一步”。
在”选择客户机操作系统”页面,选择”Linux(L)“作为客户机操作系统,版本选择”其他 Linux 4.x 内核 64 位”,这个版本最适合openEuler系统,点击”下一步”继续。
在”命名虚拟机”页面,输入虚拟机名称,这里我们使用”OpenEuler”,位置可以保持默认或者选择你想要存储虚拟机文件的目录,点击”下一步”。
在”指定磁盘容量”页面,建议将”最大磁盘大小”设置为15GB或更大,选择”将虚拟磁盘存储为单个文件”选项,这样性能更好,点击”下一步”。
配置虚拟机硬件
在继续安装之前,我们需要对虚拟机的硬件进行一些配置优化。
在虚拟机设置界面中,首先配置内存。建议为openEuler分配至少768MB内存,如果你的物理内存充足,可以分配更多(如2GB)以获得更好的性能。
在”选项”标签页中,找到”网络适配器”设置。确保选择”NAT模式”,这样虚拟机可以通过宿主机上网,同时保持网络隔离,点击”确定”保存设置。
启动虚拟机并开始安装
现在可以启动虚拟机开始安装openEuler了。
启动虚拟机后,你会看到openEuler的引导界面,选择”Install openEuler 24.03-LTS-SP2”开始安装过程,系统会显示”Automatic boot in 50 seconds…”,你可以直接按回车键或等待自动启动。
系统会开始加载各种内核模块和系统服务,这个过程大约需要几分钟时间。
openEuler安装向导
进入openEuler安装界面后,首先选择安装过程中使用的语言,你可以选择”English”(英语)或”中文”(简体中文),在右侧的下拉菜单中可以选择更具体的语言变体,点击”Continue”继续。
接下来进入”安装信息摘要”页面,这是安装配置的核心界面,你需要逐一配置这些选项。
点击”安装目的地”进行磁盘配置,在设备选择页面,你可以看到15GB的虚拟磁盘,在存储配置部分,建议选择”自动(U)“让系统自动创建合适的分区方案,确认没有勾选”我想让此变得更大”复选框,然后点击”完成”。
在”软件选择”页面,这里最好是选择”服务器”环境,这样你可以直接安装openGauss数据库,如果你不这么做的话后面安装可能会需要配置一些环境变量,对于不会命令行操作以及vim编辑器的新手十分不友好,点击”完成”保存设置。
在”网络和主机名”配置页面,确保右上角的开关处于”连接”状态(如果没有开启并且你不会使用命令开启的话会很麻烦),在底部可以设置主机名,默认是”localhost”,你也可以改为其他名称,配置完成后点击”完成”。
用户配置
回到安装信息摘要页面,点击”root账户”进行管理员账户配置。
root账户是系统的超级管理员账户,具有最高权限,选择”启用root账户”,然后设置一个强密码,输入密码两次进行确认,系统会显示密码强度,设置完成后点击”完成”。
同时建议创建一个普通用户账户用于日常使用,点击”创建用户”,填写以下信息:
- 全名: 用户的完整姓名
- 用户名: 系统登录用户名
建议勾选”为此用户账户(wheel组成员)添加管理员权限”,这样该用户就可以使用sudo命令执行管理员操作,由于是内网使用不必担心联网攻击,你也可以像我一样不启用”需要密码才能使用该账户”,否则你需要设置一个与root账户密码不一样的密码,设置完成后点击”完成”。
开始安装
所有配置完成后,点击”开始安装”按钮,系统会开始安装openEuler到虚拟机硬盘中,安装过程会显示进度条和当前正在进行的操作,整个安装过程大约需要10-20分钟(不确定),具体时间取决于你的硬件配置。
安装完成后,点击”重启系统”按钮。系统会自动重启并进入新安装的openEuler系统。
首次启动和基本配置
重启完成后,你就可以使用刚才创建的用户账户登录系统了,至此,openEuler虚拟机的基本安装就完成了。
下一步:配置openGauss数据库
重启完成后,使用root账户登录系统。
看到”localhost login:“提示后,输入root用户名,然后输入之前设置的密码。
登录后可以看到系统基本信息,包括系统负载、内存使用情况、IP地址等。可以看到虚拟机的IP地址为192.168.136.128,这样就已经登录上了你的openEuler操作系统。
你也可以像我一样在本地电脑终端上通过SSH连接到虚拟机,这样操作会更方便,复制粘贴命令也更容易。
安装openGauss数据库
在配置数据库之前,我们需要先安装openGauss数据库。如果你在前面选择了”服务器”环境,openGauss可能已经预装了。但如果没有安装或者需要手动安装,可以按照以下步骤进行(这里我使用预装的opengauss,所以这里的教程是从网上搜集整理的,仅供参考)。
下载openGauss安装包
首先需要下载openGauss数据库的安装包。你可以从openGauss官网下载适合openEuler系统的版本。
创建安装用户和组
# 创建opengauss用户组
groupadd opengauss
# 创建opengauss用户
useradd -g opengauss -m -s /bin/bash opengauss
# 设置opengauss用户密码
passwd opengauss
准备安装目录
# 创建安装目录
mkdir -p /opt/software/openGauss
chown -R opengauss:opengauss /opt/software/openGauss
# 创建数据目录
mkdir -p /var/lib/opengauss/data
chown -R opengauss:opengauss /var/lib/opengauss
解压和安装openGauss
# 切换到opengauss用户
su - opengauss
# 解压安装包
cd /opt/software/openGauss
tar -xjf /tmp/openGauss-6.0.0-openEuler-64bit.tar.bz2
# 设置环境变量
echo 'export GAUSSHOME=/opt/software/openGauss' >> ~/.bashrc
echo 'export PATH=$GAUSSHOME/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=$GAUSSHOME/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
初始化数据库
# 初始化数据库实例
gs_initdb -D /var/lib/opengauss/data --pwfile=<(echo 'your_password_here')
# 或者交互式初始化(会提示输入密码)
gs_initdb -D /var/lib/opengauss/data -w
配置数据库服务
# 编辑postgresql.conf文件,修改监听地址
vi /var/lib/opengauss/data/postgresql.conf
# 找到以下行并修改:
# listen_addresses = 'localhost' # 改为 '*' 以允许远程连接
# port = 5432 # 确保端口配置正确
# 编辑pg_hba.conf文件,配置客户端认证
vi /var/lib/opengauss/data/pg_hba.conf
# 添加以下行以允许本地连接:
# host all all 127.0.0.1/32 md5
# host all all ::1/128 md5
配置openGauss数据库
现在开始配置openGauss数据库。如果你按照上述步骤手动安装了数据库,或者系统已经预装了数据库,首先需要切换到opengauss用户。
使用命令su - opengauss
切换到opengauss用户,然后可以看到系统信息。
切换成功后,可以看到当前用户已经变为opengauss,现在可以开始配置数据库了。
启动数据库服务
切换成功后,现在可以直接启动数据库服务。
# 启动openGauss数据库服务
gs_ctl start -D /var/lib/opengauss/data
使用gsql
命令连接到数据库。可以看到成功连接到openGauss 6.0.0版本的数据库,并显示了”openGauss=#“的命令提示符,说明数据库配置完成。
# 连接到openGauss数据库
gsql -d postgres -p 5432 -U opengauss
数据库连接与基本操作
-- 连接到数据库
gsql -d postgres -p 5432 -U opengauss
-- 创建数据库用户
CREATE USER ling WITH PASSWORD 'your_password';
-- 设置用户权限(授予系统管理员权限)
GRANT ALL PRIVILEGES TO ling;
-- 创建数据库并设置所有者
CREATE DATABASE mydb OWNER ling;
-- 查看所有数据库
\l
-- 查看所有用户
\du
-- 连接到指定数据库
\c mydb
-- 查看当前数据库的表
\dt
-- 退出数据库
\q
数据库服务管理
# 重启数据库服务
gs_ctl restart -D /var/lib/opengauss/data
# 停止数据库服务
gs_ctl stop -D /var/lib/opengauss/data
# 启动数据库服务
gs_ctl start -D /var/lib/opengauss/data
# 查看数据库状态
gs_ctl status -D /var/lib/opengauss/data
常见问题解决
问题1:数据库启动失败,提示共享内存不足
如果在启动数据库时遇到如上图所示的错误,从日志可以看到数据库启动失败,提示共享内存不足的问题。这是因为系统的共享内存配置需要调整,最简单粗暴的方法就是直接拓展虚拟机硬件配置。
解决方案:修改数据库配置参数
编辑openGauss的配置文件,需要了解一下vim编辑器的语法,按下i键进入插入模式。
# 编辑配置文件,注意是opengauss账户下
vi /var/lib/opengauss/data/postgresql.conf
需要修改一些配置项,以下是推荐的修改,我强烈建议你使用宝塔面板对这个配置文件进行编辑,因为这个文件很长:
# 共享缓冲区大小
shared_buffers = 128MB
# 最大连接数
max_connections = 30
# 工作内存
work_mem = 4MB
# 维护工作内存
maintenance_work_mem = 32MB
# WAL缓冲区
wal_buffers = 8MB
同时需要确保配置文件中的port端口配置没有被注释,找到#port = 5432
这一行,将开头的#
号去掉。
完成配置修改后,保存并退出编辑器,然后重启数据库服务:
# 重启openGauss数据库服务
gs_ctl restart -D /var/lib/opengauss/data
经过配置调整后,可以看到数据库日志显示”server started”,说明openGauss数据库已经成功启动。