openGauss极简版安装使用
openGauss是GaussDB的开源版,从官网下载即可。
这里只是为了测试一些基本功能,所以只下载了极简版。下面记录下安装步骤和遇到的问题。
部署
GaussDB安装不能用root用户,先新建一个专用用户gaussdb
,执行命令groupadd gaussdb && useradd -d /home/gaussdb -m gaussdb -g gaussdb
解压安装包,执行命令tar -jxvf openGauss-2.0.0-CentOS-64bit.tar.bz2 -C gaussdb-2.0.0
然后进入simpleInstall
目录,执行sh install.sh -w xx
命令进行安装。
如果上述流程正常,则GaussDB安装初步完成。但是我没有这么顺利,遇到些问题。
问题1
执行install.sh
命令时,报错SEMMNI
参数设置不对,错误信息如下:On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Please check it.
解决
SEMMNI是在/proc/sys/kernel/sem
文件中配置的,修改下就好了,需要注意的是修改方式不能直接vim,需要用echo命令写入,否则会写入不成功。
执行命令echo 250 32000 32 2048 > /proc/sys/kernel/sem
安装成功之后,需要先验证下能否正常使用,比较安装不报错和能正常使用是两回事。
执行gsql -d postgres -p 5432
,其中端口5432
是默认端口,具体端口信息可以在${GAUSSDB_HOME}/data/single_node/postgresql.conf
中查看。
又报错了。。
问题2
是openssl的问题,错误信息如下:openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
解决
执行openssl version
查看当前openssl的版本,我的版本是1.0.2,需要先将openssl升级到1.1,如果还报上面的错,在执行如下命令:
1 | ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1 |
这个问题解决完就可以正常使用了,一些常用命令有\c
切换数据库,\l
查看数据库、\dt
查看表、\d tablename
查看表结构。
远程连接
管理员帐号无法进行远程连接,新建个用户用于测试远程连接功能,新建用户命令如下:
1 | CREATE USER test PASSWORD 'Test@123'; |
使用新建的用户连接测试,执行命令gsql -h xx.xx.xx.xx -d school -U test -p 5432 -r
报错无法连接,报权限错误,执行命令gs_guc set -N all -I all -h "host all test 192.168.xx.xx/32 sha256"
,悲催的是又报错了,错误信息如下:
1 | realpath(/home/gaussdb/gaussdb-2.0.0/bin/cluster_static_config) failed : 没有那个文件或目录! |
之所以没有这个文件是因为极简版中很多命令都没有,比如gs_om
。
极简版少很多命令文件怎么解决,我只能从新安装个企业版?好麻烦。突然想到在搜索gs_guc
这个命令的时候,它修改的是pg_hba.conf
这个配置文件,我是不是可以绕过gs_guc
命令直接修改配置文件就可以解决,立马去实践。
pg_hba.conf
在${GAUSSDB_HOME}/data/single_node
中,通过vim修改,增加host all all 192.168.xx.xx/32 sha256
修改完之后重启下服务就行,搞笑的事情发生了,重启服务需要用到gs_om
命令,可是没有咋办。。。
极简版是通过执行install.sh
命令进行安装启动的,那么这个里面应该有启动命令,果然发现了,极简版的启停命令为:
1 | gs_ctl start -D /home/gaussdb/gaussdb-2.0.0/data/single_node -Z single_node |
终于搞定了,可以远程连接了。
JDBC连接测试
代码用官方的就行,加个依赖包,官方也提供了。
关键代码如下:
1 | // 创建数据库连接 |
幸运之想
整个安装测试过程比较坎坷但也很幸运,所遇的问题都能比较简单,比较容易搞定。
安装使用过程中遇到些问题,有的问题比较普遍可以通过搜索引擎解决,但是有些问题比较独特,无法通过搜索引擎解决,此时就需要我们有解决问题的能力,这个能力从何而来,我认为能力是从思路中而来,而思路又是从经验见识中而来。所以呢还是那句老话,遇到问题不要慌,要多想想,要记住一点,问题肯定是能解决的,只是有的问题解决完就没有了,而有的问题解决完一个又会出现N个。
也许现在说这些都是风凉话,但现在想想如果当时解决远程连接问题时,没有去多想下,可能就直接更换企业版,然后安装部署,遇到新的问题继续解决问题。
但是我很庆幸我没有立马去更换企业版,而是多想了一步,并靠着自己的经验把遇到的问题给解决了,节省了一些时间也增加了自己独立解决问题的信心。