openGauss 介绍
openGauss是一款开源关系型数据库管理系统,采用木兰宽松许可证v2发行。openGauss内核深度融合华为在数据库领域多年的经验,结合企业级场景需求,持续构建竞争力特性。
1. 官网下载压缩包
openGauss 官网:https://opengauss.org/zh/
2. 安装前准备工作
- 安装依赖包
# 安装依赖包,有些可能系统自带,没关系。完成后会提示“Complete!”
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
- 安装python3
centos自带的python是python2,不符合官方文档要求。
centos要求python只能是3.6.X,而不是及以上,也就是不能用3.7。我这里用的3.6.15。
需要先去官网下载3.6.15的版本
- python3.6.15版本下载地址:https://www.python.org/downloads/release/python-3615/
# 解压缩
tar -zxvf Python-3.6.15.tgz
# 移动到目录内
cd Python-3.6.15/
# 配置
./configure --prefix=/usr/local/python3 --enable-shared
# 编译
make
# 安装,最后提示Successfully就说明安装成功了。
make install
# 注意此时还需要设置下OS上python的软连接。其中,/usr/local/python3/需要替换为你自己python安装包的实际路径,就是上面./configure的路径。
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
ln -s /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib64/
export LD_LIBRARY_PATH=/usr/local/python3/lib:$LD_LIBRARY_PATH
3. 安装 openGauss
- 准备配置文件 cluster_config.xml
从安装文档示例中,把主机名pekphisprb70593和IP 10.x.x.x替换成自己实际使用的值。保存到文件,文件名为 cluster_config.xml。
<?xml version="1.0" encoding="UTF-8"?>
<ROOT>
<!-- openGauss整体信息 -->
<CLUSTER>
<PARAM name="clusterName" value="opengSingle" />
<PARAM name="nodeNames" value="pekphisprb70593" />
<PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" />
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" />
<PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" />
<PARAM name="corePath" value="/opt/huawei/corefile" />
<PARAM name="backIp1s" value="10.x.x.x"/>
</CLUSTER>
<!-- 每台服务器上的节点部署信息 -->
<DEVICELIST>
<!-- node1上的节点部署信息 -->
<DEVICE sn="pekphisprb70593">
<PARAM name="name" value="pekphisprb70593"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<!-- 如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP -->
<PARAM name="backIp1" value="10.x.x.x"/>
<PARAM name="sshIp1" value="10.x.x.x"/>
<!--dbnode-->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/opt/huawei/install/data/dn"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>
- 安装openGauss
# 创建安装目录
mkdir -p /opt/software/openGauss
# 为安装目录添加权限
chmod 755 -R /opt/software
# 将安装包“openGauss-All-6.0.0-CentOS7-x86_64.tar.gz”和配置文件“cluster_config.xml”都放到上一步所创建的/opt/software/openGauss目录中。
# 解压缩,压缩包内还有压缩包,所以要解压缩2次
cd /opt/software/openGauss
tar -zxvf openGauss-3.0.0-CentOS-64bit-all.tar.gz
tar -zxvf openGauss-3.0.0-CentOS-64bit-om.tar.gz
进入script执行预安装命令。我采用的是交互式,所以需要在中间提示的时候输入密码。安装时长大概一两分钟。
[root@192 openGauss]# cd script/
[root@192 script]# ./gs_preinstall -U omm -G dbgrp -X /opt/software/openGauss/cluster_config.xml
Parsing the configuration file.
Successfully parsed the configuration file.
Installing the tools on the local node.
Successfully installed the tools on the local node.
Are you sure you want to create trust for root (yes/no)?yes
Please enter password for root
Password:
Successfully created SSH trust for the root permission user.
Setting host ip env
...
...
Fixing server package owner.
Setting finish flag.
Successfully set finish flag.
Preinstallation succeeded.
切换到omm用户,使用gs_install安装openGauss。中间根据提示输入要设置的数据库密码,大概两三分钟的样子。
[root@192 script]# su - omm
[omm@192 script]# gs_install -X /opt/software/openGauss/cluster_config.xml
Parsing the configuration file.
Check preinstall on every node.
Successfully checked preinstall on every node.
Creating the backup directory.
Successfully created the backup directory.
begin deploy..
Installing the cluster.
...
Please enter password for database:
Please repeat for database:
...
Configuration is completed.
Successfully started cluster.
Successfully installed application.
end deploy..
检查下数据库状态,state都是Normal就可以。
[omm@192 script]# gs_om -t status --detail
测试连接
# 能连接上openGauss就可以了,在openGauss内输入\q可退出
gsql -d postgres -p 26000
- 修改配置文件
# 注意,要用root用户修改文件,否则可能没权限修改
vi /opt/huawei/install/data/dn/postgresql.conf
修改内容(不修改的话其他电脑连不上数据库,此为测试环境,生产环境请根据情况修改)
1.listen_addresses = '*'
2.local_blind_address = '0.0.0.0'
3.password_encrytion_type = 0
使用命令重启数据库
# 注意,要用omm用户执行命令
cd /opt/software/openGauss/script
gs_om -t restart
- 创建用户
# 先连接数据库
cd /opt/software/openGauss/script
gsql -d postgres -p 26000
# 创建用户,注意密码不能太简单,至少要包含3种字符
# 我这里用户为"dbuser",密码为"abc@1234"
reate user dbuser password "abc@1234";
# 为用户授予sysadmin权限
alter role dbuser sysadmin;
4. 使用openGauss
-
navicat连接
-
navicat数据迁移(截图为 mysql 迁移至 openGauss)
-
后端项目连接(截图为java开发的后端项目yml配置)
注:如果运行项目报错,显示找不到字段,则有可能是创建表时sql语句字段名加了双引号,postgreSql有个比较特殊的点,就是如果创建表时字段名加了双引号,则表示该字段名大小写敏感,查询时字段名必须也加双引号,所以处理方式就是要把数据库表转成sql,把所有创建表sql语句中的字段名取消用双引号包裹
- 这是我安装时看的文章
- linux安装openGauss:https://zhuanlan.zhihu.com/p/649189574
- linux安装后配置:https://blog.csdn.net/weixin_74850661/article/details/143089650
- linux数据库迁移:https://blog.csdn.net/weixin_44739106/article/details/129435724