目录
介绍
opengauss是华为基于PostgreSQL魔改的数据库。本文介绍轻量版的安装。
官网:https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/GettingStarted/GettingStarted.html
安装包下载地址:https://opengauss.org/zh/download/
相关文档地址:https://docs-opengauss.osinfra.cn/zh/docs/5.1.0/docs/GettingStarted/%E4%BA%86%E8%A7%A3openGauss.html
下载安装包
安装
1.设置SEMMNI
如果不设置的话在安装过程中会报错 the maximum number of SEMMNI is not correct, the current SEMMNI is xxx. Please check it.
vi /etc/sysctl.conf # 增加如下语句在文件结尾后wq保存后 kernel.sem = 250 32000 100 999 # 保存后输入下方命令检查是否生效 sysctl -p
2.新建用户和用户组
openGauss不能使用root用户
新增组omm groupadd omm 新增用户omm useradd -g omm omm 设置omm用户密码 passwd omm
3.下载安装包解压
通过wget或者上传工具上传安装压缩包
# 解压压缩包 mkdir opengauss tar -xzvf openGauss-Lite-5.0.1-CentOS-x86_64.tar.gz -C opengauss cd opengauss
4.安装数据库
将password修改为密码后进行安装启动:
echo password | sh ./install.sh --mode single -D openGauss/data -R openGauss/install --start
5.修改配置
修改监听ip的配置和密码加密的方式,防止navicat无法连接。
修改 standard_conforming_strings 转义符,防止插入转义符被识别为字符串.
vim data/pg_hba.conf # 然后进行搜索下列关键字 附: trust一般用于本地连接不进行密码校验 # /host all 搜索到这行 把"127.0.0.1/32"替换成"0.0.0.0/0" 和 把"trust"f替换成"md5" vim data/postgresql.conf # 搜索"#listen_addresses" 即/#listen_addresses 搜索后 将最前面的"#"去掉 和 将"localhost"替换成* # 搜索"4" 即/password_encryption_type 即将前面的#去掉 和将2修改成为0代表使用md5的加密方式 # 搜索"standard_conforming_strings" 即/standard_conforming_strings 即将前面的#去掉 和将on修改成为off代表使用旧方式的转义符
参考图:
6.重启服务
注意启动需要omm用户
install/bin/gs_ctl restart -D data/
数据库使用
gsql命令和常用sql
1.使用omm用户连接数据库-本地登陆无需输入密码:
install/bin/gsql -d postgres -p 5432 -r
2.查看用户信息
\du
3.删除数据库
drop database opengauss;
4.创建用户
create user opengauss createrole password 'Opengauss@123';
5.创建数据库 B模式即MySQL模式(一定要设置成B)
CREATE DATABASE opengauss WITH dbcompatibility='B' OWNER=opengauss ENCODING='UTF-8';
6.切换到数据库
\c nraq2
7.创建SCHEMA,需切换到指定的数据库执行
CREATE SCHEMA "opengauss" CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
8.退出gsql
\q
7.navicat连接数据库
实践中遇见问题:
1.mysql中 会针对类似下面的问题有个修改sql_mode的 ONLY_FULL_GROUP_BY 配置来放松对sql group by 等语句的校验,在openGauss 高斯数据库中没有类似的配置,只能将所有问题sql全部修改.
column "**" must appear in the GROUP BY clause or be used in an aggregate function