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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2019-07-25 hbase导入导出