服务器版本:Centos7.6 || 7.9
数据库版本:openGauss-5.0.0-CentOS-64bit.tar.bz2 极简版
目录
修改系统参数
##修改 /etc/selinux/config 文件中的“SELINUX”值为“disabled”。
vi /etc/selinux/config
SELINUX=disabled
关闭防火墙
##检查防火墙是否关闭
systemctl status firewalld
##关闭防火墙
systemctl disable firewalld.service
systemctl stop firewalld.service
##设置字符集参数 没有则添加
vi /etc/profile
export LANG=en_US.UTF-8
##关闭HISTORY记录
vi /etc/profile
##设置HISTSIZE值为0。例如,系统中HISTSIZE默认值为1000,将其修改为0
HISTSIZE=0
##执行命令,使配置立即生效
source /etc/profile
##设置时区和时间
date
##使用如下命令将各数据库节点/usr/share/zoneinfo/目录下的时区文件拷贝为/etc/localtime文件
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
##(可选)关闭swap交换内存
swapoff -a
##关闭RemoveIPC
##1.修改/etc/systemd/logind.conf文件中的“RemoveIPC”值为“no”。
vim /etc/systemd/logind.conf
RemoveIPC=no
##2.修改/usr/lib/systemd/system/systemd-logind.service文件中的“RemoveIPC”值为“no”。
## 使用VIM打开systemd-logind.service文件。(注:如果这个文件中没有这个参数就写进去然后保存)vi /usr/lib/systemd/system/systemd-logind.service
RemoveIPC=no
##重新加载配置参数。
systemctl daemon-reload
systemctl restart systemd-logind
##检查修改是否生效。loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
安装环境
##安装编译Python3源文件所需的编译环境
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
##安装bzip2
yum install -y bzip2
##安装gcc
yum install -y gcc
#安装依赖zlib、zlib-devel
yum install zlib
yum install zlib-devel
##安装python3
##下载地址:https://www.python.org/downloads/release/python-3615/
##或者https://www.python.org/downloads/source/
##把下载的python压缩包放到服务器 解压
tar -zxvf Python-3.6.15.tgz
##进入Python3 源文件文件夹
cd Python-3.6.15/
##运行安装
./configure --prefix=/usr/local/python3 --enable-shared
make && make install
##如果出现报错:
configure: error: in `/usr/local/src/pythonSoft/Python-3.6.15':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
##是因为本机缺少gcc编译环境
##安装gcc
yum install -y gcc
# 如果出现can't decompress data; zlib not available这个错误,则需要安装相关库
#安装依赖zlib、zlib-devel
yum install zlib
yum install zlib-devel
##添加python3的软链接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
##如果出现ln: 无法创建符号链接"/usr/bin/python": 文件已存在:
rm /usr/bin/python
#测试是否安装成功了
python -V
##如果出现:error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
##原因是centos系统默认加载/usr/lib,/lib下面库文件,python默认安装到非此类文件夹。
##解决办法将python3安装目录的lib目录下的文件libpython3.6m.so.1.0复制到/usr/lib/目录下
cp /usr/local/python3/lib/libpython3.6m.so.1.0 /usr/lib/
##将目录/usr/lib/添加到/etc/ld.so.conf.d/目录下的python3.6.conf文件中
echo "/usr/lib" > /etc/ld.so.conf.d/python3.6.conf
##运行命令
ldconfig
##再运行 python 或python -V,发现没有上述错误了
安装openGauss数据库
使用root用户
- 创建安装目录 mkdir -p /opt/software/openGauss
- 赋予权限 chmod 777 -R /opt/software
chmod -R 777 文件夹
参数-R是递归的意思
777表示开放所有权限
如果给所有人添加可执行权限:chmod a+x 文件名;
如果给文件所有者添加可执行权限:chmod u+x 文件名;
- # 创建组
groupadd dbgroup
# 向组中添加普通用户
useradd -g dbgroup omm
# 设置用户omm的密码为 gauss_123
passwd omm
切换到普通用户:
su omm
- 上传数据库安装包到服务器,下载地址:openGauss软件包
解压到 /opt/software/openGauss 目录
tar -jxf openGauss-5.0.0-CentOS-64bit.tar.bz2 -C /opt/software/openGauss
- 进入解压目录
cd /opt/software/openGauss/simpleInstall
# 执行安装脚本并制定数据库初始密码
sh install.sh -w Gauss@123
执行时,如果出现报错“the maximum number of SEMMNI is not correct, the current SEMMNI is xxx. Please check it.”,请使用有root权限的用户执行如下命令。
sysctl -w kernel.sem="250 85000 250 330"
安装执行完成后,使用ps和gs_ctl查看进程是否正常。
ps ux | grep gaussdb
gs_ctl query -D /opt/software/openGauss/data/single_node
至此数据库安装完毕!
配置连接数据库
- 第一次连接先修改数据库连接方式和密码校验方式
vi /opt/software/openGauss/data/single_node/pg_hba.conf
最后面加上:
host all all 0.0.0.0/0 md5
参考官方文档:设置密码安全策略
- 修改密码校验方式:
vi /opt/software/openGauss/data/single_node/postgresql.conf
##修改参数:
listen_addresses = '*'
password_encryption_type = 0
- #启动命令
gs_ctl restart -D $GAUSSHOME/data/single_node -Z single_node
gs_ctl start -D $GAUSSHOME/data/single_node -Z single_node
gs_ctl stop -D $GAUSSHOME/data/single_node -Z single_node
- 数据库安装完成后,默认生成名称为postgres的数据库。第一次连接数据库时可以连接到此数据库。
##执行如下命令连接数据库。
gsql -d postgres -p 5432
其中postgres为需要连接的数据库名称,5432为数据库默认的端口号
- #创建数据库用户
CREATE USER testuser WITH PASSWORD "Test_pwd";
#如下命令为设置用户为系统管理员权限
GRANT ALL PRIVILEGES TO testuser;
#创建数据库。
CREATE DATABASE testDb OWNER testuser;
- #退出
\q
如下图操作:
使用navicat连接数据库