kingbase安装部署(单机命令行模式)

环境:
OS:Centos 7

1.获取安装介质
获取地址:
https://www.kingbase.com.cn/tyxsjk/index.htm

KingbaseES_V008R006C006B0013_Lin64_install.iso ##安装介质
license_18720_0.dat ##授权文件

 

1.创建用户
useradd -m -U kingbase
passwd kingbase

 

2.文件目录规划
安装包存放目录:/soft/kingbase
软件目录:/kingbase/app/  ##安装的时候需要指定
数据目录:/kingbase/data/  ##安装的时候需要指定
备份目录:/kingbase/backup/  ##后期配置使用
归档目录:/kingbase/archive/ ##后期配置使用
授予权限 chown -R kingbase:kingbase /kingbase

mkdir -p /kingbase/app/
mkdir -p /kingbase/data/
mkdir -p /kingbase/backup/
mkdir -p /kingbase/scripts/
mkdir -p /kingbase/archive/
chown -R kingbase:kingbase /kingbase
chown -R kingbase:kingbase /soft/kingbase

 

3.修改资源限制(以下操作需要root权限)
vi /etc/security/limits.conf
增加如下内容:
kingbase hard nofile 65536
kingbase soft nofile 65536
kingbase hard nproc 65536
kingbase soft nproc 65536
kingbase soft core unlimited
kingbase hard core unlimited

 

4.安装java环境
[root@host134 mnt]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)


5.mount安装介质
[root@localhost soft]# cd /soft/kingbase
[root@host134 kingbase]#mount -o loop KingbaseES_V008R006C006B0013_Lin64_install.iso /mnt

 

 

6.命令行模式安装

复制代码
[root@host134 mnt]# su - kingbase
[kingbase@host134 ~]$ cd /mnt
[kingbase@host134 mnt]$./setup.sh -i console
Please choose the Install Set to be installed by this installer.

  ->1- Full
    2- Client

    3- Custom

ENTER THE NUMBER FOR THE INSTALL SET, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
   : 1



===============================================================================
Choose License File
-------------------


File Path: /soft/kingbase/license_18720_0.dat

Please choose a destination folder for this installation.

Where would you like to install?

  Default Install Folder: /opt/Kingbase/ES/V8

ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : /kingbase/app/
===============================================================================
Choose a Folder for data directory
----------------------------------

##下面是安装数据库了,若不想安装数据库,这里可以中断安装,后面直接使用initdb进行数据库初始化 Please choose a folder. The folder must be empty. Data folder (Default:
/kingbase/app/data): /kingbase/data/ =============================================================================== Port ---- Please enter database service listened port, default 54321. Port (Default: 54321): =============================================================================== User ---- Please enter database administrator user name. User: (Default: system): Please Enter the Password: Please Enter the Password:********* =============================================================================== Enter Password again -------------------- Please Enter the Password Again: Please Enter the Password Again:********* 这里密码我们设置为:kingbase Please enter server character set encoding. ->1- UTF8 2- GBK 3- GB18030 ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 1 =============================================================================== Database Mode ------------- Please enter database mode. 1- PG ->2- ORACLE ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 2 ##选择兼容oracle Please enter the case sensitivity. ->1- YES 2- NO ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 2 ##选择2 设置大小写不敏感 Please enter block size used in storing data. ->1- 8k 2- 16k 3- 32k ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 1 =============================================================================== Installation Complete --------------------- Congratulations. KingbaseES V8 has been successfully installed to: /kingbase/app If you want to register KingbaseES V8 as OS service, please run /kingbase/app/install/script/root.sh PRESS <ENTER> TO EXIT THE INSTALLER
复制代码

 

安装好之后的目录如下

 

复制代码
[kingbase@localhost kingbase]$ ls -al
total 4
drwxr-xr-x   4 kingbase kingbase   29 Feb 28 11:10 .
dr-xr-xr-x. 19 root     root      272 Feb 28 10:49 ..
drwxr-x---   3 kingbase kingbase  170 Feb 28 11:19 app
drwx------  23 kingbase kingbase 4096 Feb 28 11:21 data
[kingbase@localhost kingbase]$ 
复制代码

 

安装选项说明:

1- Full     ##安装数据库软件和初始化数据库(initdb)
2- Client   ##只安装数据库软件,没有initdb程序
3- Custom   ##Press <ENTER> to install above selected features or choose the corresponding
            ##number to change the feature selection: 1,2,3,4,6

 

若是使用initdb命令初始化数据库的,大小写不敏感需要加上--enable-ci选项

initdb初始化语句如下:

 

复制代码
su - kingbase
/kingbase/app/KESRealPro/V008R006C008B0014/Server/bin/initdb
./initdb -D /kingbase/data -E=UTF8 -U system -W --enable-ci --dbmode=mysql -k

--enable-ci ##大小写不敏感
-k          ##--data-checksums
-W          ##要是输入密码
--dbmode    ##兼容模式 oracle mysql,兼容mysql模式的情况下,命令行模式命令输错了,只按删除键可以进行回删.

初始化的时候无法指定端口,默认端口是54321,只能在kingbase.conf配置文件中进行修改.
复制代码

 

 

 

 

执行脚本(root用户下执行),不需要随系统启动的话可以不执行,我这里没有做成系统服务的方式,而是采用原始的手工方式启动
[root@host134 app]# /kingbase/app/install/script/root.sh
Starting KingbaseES V8:
waiting for server to start.... done
server started
KingbaseES V8 started successfully
[root@host134 app]#

 

执行该命令后会生成如下文件:

/etc/rc.d/init.d/kingbased 

也通过该文件进行手工启停

 

/etc/rc.d/init.d/kingbased start
/etc/rc.d/init.d/kingbased stop

 

 

 

 

查看服务(好像不管用)

systemctl status kingbase    ##V8R6

好像该服务不管用,数据库是启动了,通过该命令查看服务异常,可以不理会该命令。

 

[root@localhost ~]# systemctl status kingbase
● kingbased.service - LSB: Start and stop the kingbase server
   Loaded: loaded (/etc/rc.d/init.d/kingbased; bad; vendor preset: disabled)
   Active: inactive (dead)
     Docs: man:systemd-sysv-generator(8)

 

 

 

 

7.设置环境变量
su - kingbase
cd ~
vi .bash_profile
export KINGBASE_HOME=/kingbase/app
export KINGBASE_DATA=/kingbase/data
export PATH=$KINGBASE_HOME/Server/bin:$PATH
export LD_LIBRARY_PATH=$PATH:$KINGBASE_HOME/Server/lib

 

8.登陆

复制代码
[kingbase@host134 ~]$ ksql -p 54321 -U system -d test -W

这里要求输入密码,这里的密码是安装时设置kingbase

ksql (V8.
0) Type "help" for help.

test
=# \dt Did not find any relations. test=# \du List of roles Role name | Attributes | Member of -----------+------------------------------------------------------------+----------- sao | No inheritance | {} sso | No inheritance | {} system | Superuser, Create role, Create DB, Replication, Bypass RLS | {} test=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+--------+----------+-------------+-------------+------------------- security | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | template0 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system + | | | | | system=CTc/system template1 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system + | | | | | system=CTc/system test | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | (4 rows) test=# create database db_test; CREATE DATABASE test=# \l List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+--------+----------+-------------+-------------+------------------- db_test | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | security | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | template0 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system + | | | | | system=CTc/system template1 | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | =c/system + | | | | | system=CTc/system test | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | (5 rows)
复制代码

 

###################################################日常维护####################################
1.重启动
[root@host134 om]# su - kingbase
Last login: Mon Jul 25 09:48:35 CST 2022 on pts/1
[kingbase@host134 ~]$ sys_ctl restart

 

2.命令启动数据库

 

su - kingbase
cd /kingbase/app/Server/bin
./sys_ctl start -D /kingbase/data

 

 

3.登录数据库

su - kingbase
cd /kingbase/app/Server/bin
./ksql -p 54321 -U system -d test -W

 

4.创建数据库和用户

复制代码
test=# create database db_hxl;
CREATE DATABASE
test=# create user hxl;
CREATE ROLE
test=# alter user hxl with password 'kingbase';
ALTER ROLE
test=# alter database db_hxl owner to hxl;
ALTER DATABASE
复制代码

 

使用新创建的用户登录数据库

复制代码
su - kingbase
cd /kingbase/app/Server/bin
[kingbase@localhost bin]$ ./ksql -p 54321 -U hxl -d db_hxl -W

create table tb_test
(
id bigserial primary key not null,
name1 varchar(20),
name2 varchar(20),
name3 varchar(20),
name4 varchar(20),
name5 varchar(20),
name6 varchar(20),
createtime timestamp default current_timestamp,
modifytime timestamp default current_timestamp
);
复制代码

 

5.客户端登录配置

sys_hba.conf

# IPv4 本地连接:
host    all             all             127.0.0.1/32            scram-sha-256
host    all             all             0.0.0.0/0               scram-sha-256

 

kingbase.conf配置文件如下:

listen_addresses = '*'          # what IP address(es) to listen on;

sys_hba.conf:配置对数据库的访问权限;
kingbase.conf:配置数据库服务器的相应的参数

 

6.归档配置

查看数据库是否开启归档

[kingbase@localhost bin]$ ./ksql -p 54321 -U system -d test -W
test=# show archive_mode;
 archive_mode 
--------------
 off
(1 row)

 

开启归档

vi /kingbase/data/kingbase.conf
wal_level = replica
archive_mode = on
##下面两个选择其中一个
archive_command = 'cp %p /kingbase/arch/%f'  ##直接归档到目录
archive_command = 'DATE=`date +%Y%m%d`;DIR="/kingbase/arch/$DATE";(test -d $DIR || mkdir -p $DIR)&& cp %p $DIR/%f' #按照日期目录归档,wal日志会自动拷贝到该目录

 

重启数据库

./sys_ctl stop -D /kingbase/data
./sys_ctl start -D /kingbase/data

 

复制代码
手工进行归档切换(多切换几次)
select pg_switch_wal();
select pg_switch_wal();
select pg_switch_wal();
select pg_switch_wal();

可以看到归档目录生成如下的文件

[kingbase@localhost arch]$ ls -1
000000010000000000000002
000000010000000000000003
[kingbase@localhost arch]$ pwd
/kingbase/arch
复制代码

 

posted @   slnngk  阅读(922)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2019-07-25 hbase导入导出
点击右上角即可分享
微信分享提示