1.前言
随着互联网时代对数据库的新要求,以PostgreSQL为基础的开源数据库openGauss应运而生。openGauss在保持PostgreSQL接口兼容的前提下,对其查询优化器、高可用特性等进行了全面优化,实现了超高性能。同时,openGauss作为社区项目,新增功能持续丰富。优点是查询性能高、可靠性好、扩展性强,已经应用于多家大型企业的核心业务系统。但由于发展时间不长,生态建设还需进一步完善,对比成熟商业数据库,可视化和自动化管理还有差距。经过几年高速成长,openGauss已成功吸引广大开源社区参与,拥有活跃用户群体。本文将通过使用vm+openEuale环境安装一个openGuass,作为我在学习openGuass道路上的一个总结.
2.安装openGauss实践
一) 安装openEuler操作系统
为什么要选择openEuler当作操作系统?
-
开源协同。openEuler和openGauss都是华为主导的开源项目,两者具有共同的开源背景和理念。选择openEuler可以加强开源社区的技术协作和资源整合。
-
技术优势。openEuler在性能、安全性、稳定性等方面具备诸多优势,可以为openGauss提供高效可靠的运行支撑。
-
可扩展性。openEuler具备强大的可扩展性,可以更好地支撑openGauss的功能扩展和个性化定制。
-
云原生方向。openEuler和openGauss均注重云原生支持,有助于实现技术融合和创新,推动云数据库技术的进步。
-
统一平台。使用openEuler有助于openGauss用户实现IT系统的标准化和统一,降低维护成本。
-
丰富生态。openEuler拥有活跃的开源社区及丰富的解决方案,可为openGauss提供持续的支持。
-
战略协同。两者战略方向一致,有利于共同推动开源事业的蓬勃发展
在vm中安装openEuler
在官网[下载](https://www.openeuler.org/zh/download/archive/)openEuler系统包,最后选择20.03 LTS对应的版本
打开vm,点击创建虚拟机,然后选择自定义
点击下一步,这个兼容性保持默认就行,点击下一步
稍后安装操作系统,点击下一步
选linux -centos7 64位就行,点击下一步,事实上openEuler和Centos用起来差不多,不过openEuler是华为基于linux内核做的开源系统
虚拟机名称和位置自己选,下一步
配置参数 选个2-2一般就够了,下一步
![image.png](https://oss-emcsprod-public.modb.pro/image/editor/20230727-cdbaf2e8-9494-43cf-80da-d9b83077cf87.png)
设置内存
网络连接类型
选择创建新的虚拟磁盘,一般情况也是默认选项,不需要改,下一步
最后一步,注意选自定义硬件,有些配置需要修改
打印机移除,然后选择“新CD/DVD”那里
选择“使用ISO镜像文件”,把最上面说的下载好的系统镜像文件添加上
然后关闭,再点击“完成”即可
开机启动vm
设置密码
选择支持中文之外的英文
设置网络连接,打开网络开关
创建一个用户
磁盘
最后点击安装,等待重启就行了
二) 安装openGauss
如果是在虚拟机上安装,需要配置一个静态的ip和网卡
执行安装脚本: yum install opengauss -y
脚本安装完成后 切换openGuass用户
su - openguass
登录数据库 gsql -d postgres -r
显示已经有的db: openGauss=# l 提示需要先进行密码的修改
openGauss=# ALTER ROLE opengauss PASSWORD 'xxxxxxx';
退出数据库: Ctrl+D 或 q
这样 一次安装的实践就完成了.
3.总结
openGauss作为一个由华为发起的开源数据库,具有性能优异、兼容MySQL、适用于OLTP等特点。相比商业闭源数据库,openGauss为用户提供了免费的使用,降低了使用成本。同时它拥有活跃的开源社区和良好的生态,使得数据库的可扩展性和兼容性都非常好。
展望未来,openGauss有望在云原生数据库领域取得更大的进展。它可以结合Kubernetes等容器编排平台,实现高可用和自动化运维。还可以进行Serverless架构的改造,真正做到按需使用和弹性扩展。这些都会提升openGauss的易用性和降低使用成本。
通过这个安装过程,让我对开源数据库的安装部署流程有了直接的经验。从准备环境,上传安装包,配置参数到启动服务,每一步都让我对数据库运行原理加深了理解。同时也练习了Linux系统的命令行操作。这是一次非常 Precise的学习过程。我会继续深入学习openGauss的功能特性,以及数据库运维方面的知识。