openGauss
开源数据库
openGauss社区官网
开源社区
openGauss数据库的安装运行
openGauss 数据库的安装运行
安装 CentOS 7.6 操作系统(可用虚拟机)
下载安装 openGauss 之前,需要先在虚拟机上安装 centOS 系统,注意版本要限制为 7.6。可以选择在主机上安装软件 MobaXterm,该软件适用于在主机和虚拟机之间传输文件
安装 centOS:选择 VMware 作为虚拟机,需自行下载。启动 Vmware,进入其主页面。
点击“创建新的虚拟机”,进入虚拟机设置向导界面,选择“自定义(高级)”。
点击“下一步”,进入“安装操作系统”界面,下载 CentOS-7-x86_64-DVD-1810.iso 映像文件,并通过“浏览”按钮找到文件位置
点击“下一步”,进入“选择客户机操作系统”,选择“Linux”,并在“版本”下拉列表框中选择要安装的对应的 Linux 版本,这里选择 CentOS 7 64 位。
继续“下一步”,进入“命名虚拟机”界面,给虚拟机起一个名字,然后单击“浏览”按钮,选择虚拟机系统安装文件的保存位置,建议选择 C 盘以外的盘。
继续“下一步”,进入“处理器配置”界面,选择处理器数量和每个处理器的内核数量,可以按图配置,具体以自己电脑的配置为准。
继续“下一步”,进入“此虚拟机的内存”界面,这里建议内存选择 4GB 到 8GB 最佳。
继续“下一步”,直到“指定磁盘容量”界面,由于 OpenGauss 源代码较大,最大磁盘大小建议 40GB 以上,之后选择将虚拟磁盘拆分成多个文件。
点击“下一步”,直至完成。完成后将进入下图的界面,点击开启此虚拟机。
选择 Install CentOS 7。
进入安装引导界面,在安装引导过程中可以使用中文。
随后进入“安装信息摘要”界面,其中安装源选择“本地介质” 。
点击软件选择。勾选左侧“带 GUI 的服务器”,加选项可以选择“FTP 服务器”、“Java 平台”、“PostgreSQL 数据库服务器”、“开发工具”等。点击完成。
其他默认选择,点击开始安装。设置 ROOT 密码和创建用户即可。
成功后点击重启,同意协议,登录即可。使用语言请选择英文。得到下图页面即成功
MobaXterm 的使用
下载 MobaXterm_Personal_20.3.exe 文件并打开,这是可以直接使用的版本
点击右上角 Session->SSH,与刚刚创建好的虚拟机建立 SSH 连接,其中 Remote host 为虚拟机的 IP,得到下图的界面并且可以运行即可。
源码下载地址:https://gitee.com/opengauss/openGauss-server
下载完成之后,将整个 openGauss-server 通过 MobaXterm 上传到 centos 上。本例将其放在/sda 下。
编译
在 centos 中预先配置编译 openGauss 所需的环境。
一键执行环境初始化脚本:
https://www.modb.pro/db/48909
注意事项:需要将脚本文件中的 IP 地址该为个人虚拟机的 ip。
(通过 ifconfig 命令查看虚拟机 ip)
如何使用脚本文件:创建脚本文件,xxx.sh,将上一步的脚本内容更改后保存到文件中 sh xxx.sh。编译 openGauss 需要 openGauss-server 和 binarylibs 两个组件。openGauss-server:openGauss 的主要代码。binarylibs:openGauss 依赖的第三方开源软件。通过以下网站获取编译好的 binarylibs。下载后解压缩并重命名为 binarylibs。
已经拥有完整的 openGauss 代码,把它存储在以下目录中(以 sda 为例)。
/sda/openGauss-server
/sda/binarylibs
执行以下脚本获取系统版本号:
命令回显信息即为 openGauss 支持的操作系统。目前 openGauss 支持的操作系统为 centos7.6_x86_64 和 openeuler_aarch64。
如果显示 Failed 或其他版本,表示 openGauss 不支持当前操作系统。
配置环境变量,例如,在 CENTOS X86-64 平台上,binarylibs 目录被作为 openGauss-server 目录的兄弟目录。 在 openGauss-server 目录下执行以下命令。
选择 debug 版本进行配置:
执行以下命令编译 openGauss
显示如下信息,则表示编译和安装成功。
启动数据库
启动数据库,首先需要创建 omm 用户:useradd omm
切换至 omm 用户下(su - omm)
运行:
/opt/gaussdb 为安装后数目录,Bigdata@123 为数据库用户密码(密码可以自己设)。
注意:
只有 omm 用户才可以使用 gs_initdb 等命令
如果提示有.so 文件没有连接,则重新设置一遍环境变量
- 启动数据库

出现以下信息为启动成功

连接数据库

其中 5432 为端口号,可以通过/opt/gaussdbpostgresql.conf 文件查找。

启动成功:

调试
首先在 centos 虚拟机中安装调试工具 eclipse,安装 eclipse 前需要先安装 Java,进入命令行页面,查看 Java 是否已正常安装

若未安装 Java,执行如下命令

如果出现类似如下信息,则说明 Java 已正常安装。

下载 eclipse 文件:
http://www.eclipse.org/downloads/packages/release/Luna/SR2
下载与操作系统版本对应的 Eclipse 软件
将下载好的 tar.gz 文件上传到 centos 上去,例如放在/opt 目录下。解压压缩包。
解压后进入 eclipse 文件夹,双击 eclipse 可执行文件或命令行中执行”./eclipse”即可运行 eclipse。
在 eclipse 中导入代码:File/Import,选择 C/C++下的 Existing as Makefile Project

选择解压后的代码目录;language 复选框中把 C++去掉,因为 openGauss 是用 C 语言写的;toolchain 选择 linux GCC;
导入之后可以看到这样的信息:

首先需要启动 openGauss 数据库

Run/debug configunations 中,设置挂载进程的路径


Tips: 节约时间,可以选择 Disable auto build 从而避免每次开始调试时的 make 环节,事实上每次 make 的结果并不会用到
开始调试时,确保数据库的服务端已经启动,此时选择进程名 guassdb(omm)
在文件 execMain.cpp 中设置断点,开始调试.