【参赛作品52】openGauss数据库的安装运行

本文介绍在centOS 7.6上安装配置openGauss数据库的过程,包括虚拟机搭建、环境配置、源码编译及调试工具的使用。

作者:的个人主页
下载安装openGauss之前,需要先在虚拟机上安装centOS系统,注意版本要限制为7.6。可以选择在主机上安装软件MobaXterm,该软件适用于在主机和虚拟机之间传输文件
b.安装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密码和创建用户即可。


成功后点击重启,同意协议,登录即可。使用语言请选择英文。得到下图页面即成功


C.MobaXterm的使用

下载MobaXterm_Personal_20.3.exe文件并打开,这是可以直接使用的版本


点击右上角Session->SSH,与刚刚创建好的虚拟机建立SSH连接,其中Remote host 为虚拟机的IP,得到下图的界面并且可以运行即可。


d.源码下载地址:https://gitee.com/opengauss/openGauss-server下载完成之后,将整个openGauss-server通过MobaXterm上传到centos上。本例将其放在/sda下。


编译a.在centos中预先配置编译openGauss所需的环境。

一键执行环境初始化脚本:https://www.modb.pro/db/48909

注意事项:需要将脚本文件中的IP地址该为个人虚拟机的ip。(通过ifconfig命令查看虚拟机ip)



b.如何使用脚本文件:创建脚本文件,xxx.sh将上一步的脚本内容更改后保存到文件中sh xxx.sh编译openGauss需要openGauss-server和binarylibs两个组件。openGauss-server:openGauss的主要代码。binarylibs:openGauss依赖的第三方开源软件。通过以下网站获取编译好的binarylibs。下载后解压缩并重命名为binarylibs。https://opengauss.obs.cn-south-1.myhuaweicloud.com/2.0.0/openGauss-third_party_binarylibs.tar.gz

c.已经拥有完整的openGauss代码,把它存储在以下目录中(以sda为例)。

/openGauss-server/sda/binarylibs


执行以下脚本获取系统版本号:


命令回显信息即为openGauss支持的操作系统。目前openGauss支持的操作系统为centos7.6_x86_64和openeuler_aarch64。如果显示Failed或其他版本,表示openGauss不支持当前操作系统。d.配置环境变量,例如,在CENTOS X86-64平台上,binarylibs目录被作为openGauss-server目录的兄弟目录。 在openGauss-server目录下执行以下命令。

选择debug版本进行配置:


e.执行以下命令编译openGauss



f.显示如下信息,则表示编译和安装成功。



启动数据库启动数据库,首先需要创建omm用户:useradd omm切换至omm用户下(su - omm)运行:


b./opt/gaussdb为安装后数目录,Bigdata@123为数据库用户密码(密码可以自己设)。

注意:只有omm用户才可以使用gs_initdb等命令如果提示有.so文件没有连接,则重新设置一遍环境变量c.启动数据库


出现以下信息为启动成功


连接数据库


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


启动成功:


调试

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

若未安装Java,执行如下命令<o:p></o:p>


如果出现类似如下信息,则说明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<o:p></o:p>


选择解压后的代码目录;language复选框中把C++去掉,因为openGauss是用C语言写的;toolchain选择linux GCC;<o:p></o:p>


导入之后可以看到这样的信息:<o:p></o:p>


首先需要启动openGauss数据库<o:p></o:p>


Run/debug configunations中,设置挂载进程的路径<o:p></o:p>



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

在文件 execMain.cpp 中设置断点,开始调试.

<think>我们正在解决的是用户在使用华为云Ascend仓库时遇到的SSL证书验证错误: 错误信息:ERROR: cannot verify ascend-repo.obs.cn-east-2.myhuaweicloud.com's certificate Self-signed certificate encountered. 根据引用中提到的解决证书验证问题的方法,我们可以采用类似的思路: 引用[1]中提到,当连接到mirrors.tuna.tsinghua.edu.cn不安全时,使用wget加上`--no-check-certificate`参数跳过证书检查。 引用[2]和引用[3]则通过修改docker的daemon.json配置文件来更换镜像源,但这里的问题不是镜像源,而是证书问题。 然而,用户当前的错误是遇到了自签名证书(Self-signed certificate),这意味着该站点的证书不是由受信任的证书颁发机构(CA)签发的,因此被系统视为不安全。 解决方案通常有两种思路: 1. 跳过证书验证(不推荐,因为存在安全风险,但简单直接) 2. 将自签名证书添加到系统的受信任证书中(推荐,但步骤稍多) 具体步骤: 方法一:跳过证书验证(快速但不安全) 在访问该仓库的命令中(如wget、curl、apt等)添加跳过证书验证的选项。 例如: - 使用wget:添加`--no-check-certificate`选项 - 使用curl:添加`-k`或`--insecure`选项 - 对于apt(如果apt源使用该仓库):不建议全局跳过,但可以临时修改配置文件(不安全,不推荐) 但是,用户的具体命令没有给出,所以需要根据实际命令来添加参数。 方法二:将自签名证书添加到受信任根证书(安全,推荐) 步骤: 1. 获取自签名证书 我们可以使用openssl命令从目标服务器获取证书: ```bash openssl s_client -connect ascend-repo.obs.cn-east-2.myhuaweicloud.com:443 -showcerts </dev/null 2>/dev/null|openssl x509 -outform PEM > huawei_ascend.crt ``` 或者,如果无法获取,可以联系华为云技术支持提供该证书。 2. 将证书复制到系统证书目录 ```bash sudo cp huawei_ascend.crt /usr/local/share/ca-certificates/ ``` 3. 更新证书存储 ```bash sudo update-ca-certificates ``` 4. 验证:再次执行访问该仓库的命令,应该不会出现证书错误。 方法三:临时设置环境变量(针对特定命令) 对于Python的pip,可以设置环境变量: ```bash export PIP_OPTIONS="--trusted-host ascend-repo.obs.cn-east-2.myhuaweicloud.com" ``` 然后使用pip安装时就会跳过对该主机的证书验证。 注意:方法二需要管理员权限,且对系统全局有效。方法一和方法三只对当前命令有效。 根据用户的具体情况,如果是在使用apt-get更新或安装软件时遇到此错误,那么需要修改apt的配置文件: 在/etc/apt/sources.list.d/目录下找到对应的源文件,然后在源地址前添加`[trusted=yes]`,例如: 将原本的: deb https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/... ... 改为: deb [trusted=yes] https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/... ... 然后执行`sudo apt-get update`。 但是,请注意,这样会跳过对该源的证书验证,同样存在安全风险。 总结:推荐使用方法二,将证书添加到系统信任证书中,这样既安全又不会影响其他操作。 相关问题: 1. 如何查看Linux系统已安装的受信任证书? 2. 如何为curl命令永久跳过特定主机的证书验证? 3. 在Ubuntu中如何移除已添加的自签名证书?</think>### 解决华为云 Ascend 仓库 SSL 证书验证错误 当遇到 `ERROR: cannot verify ascend-repo.obs.cn-east-2.myhuaweicloud.com's certificate Self-signed certificate encountered` 错误时,可通过以下方法解决: --- #### 方法一:跳过证书验证(临时方案) 在命令中添加 `--no-check-certificate` 参数: ```bash wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/... --no-check-certificate ``` 或 ```bash curl -k https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/... ``` > **适用场景**:快速测试或非敏感操作 > **风险**:跳过安全验证,存在中间人攻击风险[^1] --- #### 方法二:添加证书到信任列表(推荐方案) 1. **下载证书**: ```bash openssl s_client -connect ascend-repo.obs.cn-east-2.myhuaweicloud.com:443 -showcerts </dev/null 2>/dev/null|openssl x509 -outform PEM > huawei_ascend.crt ``` 2. **安装证书**: ```bash sudo cp huawei_ascend.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates ``` 3. **验证安装**: ```bash curl -v https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/ ``` > 观察输出中应出现 `SSL certificate verify ok` --- #### 方法三:配置系统级信任(长期方案) 修改全局 SSL 配置: ```bash sudo nano /etc/ssl/openssl.cnf ``` 在 `[v3_ca]` 部分添加: ```ini subjectAltName = DNS:ascend-repo.obs.cn-east-2.myhuaweicloud.com ``` --- #### 方法四:针对特定工具配置 **APT 包管理器**: ```bash sudo nano /etc/apt/apt.conf.d/99verify-ascend ``` 添加: ```conf Acquire::https::ascend-repo.obs.cn-east-2.myhuaweicloud.com::Verify-Peer "false"; Acquire::https::ascend-repo.obs.cn-east-2.myhuaweicloud.com::Verify-Host "false"; ``` --- ### 原理说明 此错误通常由以下原因引起: 1. **自签名证书**:服务器使用未通过公共 CA 认证的证书 2. **证书链不完整**:缺少中间证书 3. **域名不匹配**:证书中的 SAN (Subject Alternative Name) 未包含访问域名[^3] > **建议**:优先使用方法二,既保持安全性又解决验证问题。如为生产环境,建议联系华为云获取官方 CA 签名的证书。 --- ### 相关问题 1. 如何验证 SSL 证书的有效期和签发机构? 2. 在 Docker 中如何解决类似的证书验证错误? 3. 自签名证书和 CA 签名证书有哪些安全差异? 4. 如何为 Nginx 配置自定义 SSL 证书?[^2] [^1]: 跳过证书验证仅适用于测试环境,生产环境存在安全风险 [^2]: 修改系统级配置需谨慎操作,建议备份原始文件 [^3]: SAN 扩展确保证书支持多域名验证,是 HTTPS 安全的关键组件
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gauss松鼠会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值