人大金仓数据库KingbaseES 编译安装方法

63 阅读1分钟

关键字: 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