关键字: KingbaseES、编译、安装
编译OpenSSH,安装到home目录
./config --prefix=$HOME/opt/ssl --openssldir=$HOME/opt/ssl
make
make test
make install
配置OpenSSL
#export OPENSSL_HOME=/opt/openssl-1.1.1q
export OPENSSL_HOME=$HOME/opt/ssl
export PATH=$OPENSSL_HOME/bin:$PATH
export LD_LIBRARY_PATH=$OPENSSL_HOME/lib:$LD_LIBRARY_PATH
export PKG_CONFIG_PATH=$OPENSSL_HOME/lib/pkgconfig:$PKG_CONFIG_PATH
NOTE: 如果不用OPENSSL功能,打开目录下configure文件,搜索“-DOpenssl_H”,修改下面的CFLAGS和CPPFLAGS的参数值“-DOpenssl_H”成随便其它值,例如修改为“-DOpenssl9_H”,然后重新编译即可。
V8不用声明OPENSSL参数,但是需要先执行Python脚本(注:该脚本只用执行一次):
python pg2kingbase.py --ignore-missing-files --enable-nls -V V008R006B0001
Configure
# PPT
./configure --prefix=`pwd`/release --with-zlib --enable-nls --enable-integer-datetimes --with-openssl --enable-cassert --with-icu --with-libxml --with-uuid=e2fs CFLAGS=-O0 --enable-debug --with-includes=/opt/openssl-1.1.1q/include --with-libs=/opt/openssl-1.1.1q/lib
# zn
./configure --prefix=`pwd`/release --with-zlib --enable-nls --enable-integer-datetimes --with-openssl --enable-cassert --with-icu --with-libxml --with-uuid=e2fs CFLAGS=-O0 --enable-debug --with-includes=$OPENSSL_HOME/include --with-libs=OPENSSL_HOME/lib
V8无需OPENSSL参数:
./configure --prefix=`pwd`/release --with-zlib --enable-nls --enable-integer-datetimes --with-openssl --enable-cassert --with-icu --with-libxml --with-uuid=e2fs CFLAGS=-O0 --enable-debug
如果编译不过,执行以下语句(此为防止10.12.1.32环境编译不过,正常流程不需要):
export PKG_CONFIG_PATH=${PKG_CONFIG_PATH:-"/usr/local/lib/pkgconfig"}
export LD_LIBRARY_PATH=/usr/local/lib
Make
./configure --prefix=`pwd`/release --with-zlib --enable-nls --enable-integer-datetimes --with-openssl --enable-cassert --with-icu --with-libxml --with-uuid=e2fs CFLAGS=-O0 --enable-debug --with-includes=/home/zhangnan/opt/ssl/include --with-libs=/home/zhangnan/opt/ssl/lib
make maintainer-clean
./configure --prefix=`pwd`/release --with-zlib --enable-nls --enable-integer-datetimes --with-openssl --enable-cassert --with-icu --with-libxml --with-uuid=e2fs CFLAGS=-O0 --enable-debug --with-includes=/home/zhangnan/opt/ssl/include --with-libs=/home/zhangnan/opt/ssl/lib
make clean
make -j32
# 执行make install报错,使用下面的make install-world正常返回
Kingbase installation complete.
#mv '/home/zhangnan/git/KES_Server/release/share/locale/zh_CN/LC_MESSAGES/sys_basebackup-12.mo' '/home/zhangnan/git/KES_Server/release/share/locale/zh_CN/LC_MESSAGES/sys_basebackup-12.mo'
mv '/home/zhangnan/git/KES_Server/release/share/locale/zh_CN/LC_MESSAGES/pgscripts-12.mo' '/home/zhangnan/git/KES_Server/release/share/locale/zh_CN/LC_MESSAGES/kbscripts-12.mo'
mv: cannot stat ‘/home/zhangnan/git/KES_Server/release/share/locale/zh_CN/LC_MESSAGES/pgscripts-12.mo’: No such file or directory
make: *** [install] Error 1
Install
sed -i 's/world,doc/world,/' GNUmakefile
sed -i 's/install-world,doc/install-world,/' GNUmakefile
make install-world
安装完成的KES存放在configure指定的prefix目录下(pwd/release)。
initdb
cd release/bin
./initdb -D ../data -U SYSTEM -n -m oracle
./initdb -D ../data -U system -n -m pg
-D [DATADIR] #初始化数据库的data目录路径
-U [USERNAME] #用户名
-x [密码] #密码
-m [MODE] #数据库模式,可选值包括:oracle,mysql,pg
-n #保留报错信息
-E [ENCODING] #默认字符编码,可选值包括:UTF-8,GBK,GB18030
-e [METHOD] #加密方法,可选值包括:sm4,rc4
--enable-ci/[NULL] #大小写(不)敏感
-A [METHOD] #身份认证方法,常用值:TRUST。可选值包括:scram-sha-256, scram-sm3,sm4,sm3等
Start Server
./kingbase -D ../data -p 54321
Ctrl-C
sys_ctl启动时默认port为54321,需要别的端口启动则需要修改配置文件kingbase.conf
./sys_ctl –D ../data start
./sys_ctl –D ../data stop
解决端口冲突办法:
netstat -anp | grep ${端口号}
kill ${PID}
连接ksql
# oracle模式
./ksql -p 54321 -U SYSTEM TEST
# pg模式
./ksql -p 54321 -U system test
# -p参数的端口与启动的服务端口一致
# -U参数的用户名与初始化时设置的用户名一致
# [TEST]为数据库名,默认为TEST