人大金仓Kingbase8安装与基本使用
Posted 码农茶叶蛋
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人大金仓Kingbase8安装与基本使用相关的知识,希望对你有一定的参考价值。
目录
一、准备工作
-
操作系统 : CentOS7 x86_64
-
数据库KingbaseES_V008R006C006B0013_Lin64_install.iso 镜像
一、安装文件
安装包官网下载地址 人大金仓-成为世界卓越的数据库产品与服务提供商
授权文件(在安装数据库时会提示输入授权文件路径,因此,证书下载后上传到服务器,例如上传到 /opt/license_18720_0.dat)
二、禁用防火墙
systemctl stop firewalld systemctl disable firewalld
三、修改内核参数
修改文件命令:vi /etc/sysctl.conf
添加如下内容: fs.aio-max-nr= 1048576 fs.file-max= 6815744 kernel.shmall= 2097152 kernel.shmmax= 4294967295 kernel.shmmni= 4096 kernel.sem= 250 32000 100 128 net.ipv4.ip_local_port_range= 9000 65500 net.core.rmem_default= 262144 net.core.rmem_max= 4194304 net.core.wmem_default= 262144 net.core.wmem_max= 1048576 执行如下命令,使内核参数的修改生效: sysctl -p
四、上传文件
上传iso安装文件和授权文件到 /opt 目录
二、安装kingbase
-
进入到cd /opt
创建目录: mkdir /kingbase 将文件挂载到目录kingbas下: mount /opt/KingbaseES_V008R006C005B0054_Lin64_install.iso /kingbase
-
由于不⽀持以root执⾏安装脚本,必须⾮root⽤户执⾏,所以先创建⼀个普通⽤户⽤来执⾏安装脚本 创建用户:
useradd kingbase
创建一个目录供数据库安装时使用,并设置有写入权限:
mkdir /opt/KingBase
chmod -R 777 /opt/KingBase -
切换到kingbase用户安装数据库
su - kingbase
sh /kingbase/setup.sh -
根据提示进行安装 可以enter默认安装
[kingbase@hadoop4 opt]$ sh /kingbase/setup.sh Now launch installer... tee: .installer.log: 只读文件系统 Preparing to install Extracting the JRE from the installer archive... Unpacking the JRE... Extracting the installation resources from the installer archive... Configuring the installer for this system\\'s environment... Launching installer... Graphical installers are not supported by the VM. The console mode will be used instead... =============================================================================== KingbaseES V8 网址:www.kingbase.com.cn 全国服务热线:400-601-1188 技术支持邮箱:support@kingbase.com.cn 是否接受此许可协议条款? (Y/N): Y =============================================================================== 选择安装集 ----- 请选择将由本安装程序安装的“安装集”。 ->1- 完全安装 2- 客户端安装 3- 定制安装 输入“安装集”的号码,或按 <ENTER> 键以接受缺省值 : =============================================================================== 选择授权文件 ------ 文件路径: /opt/license_18720_0.dat License序列号 --- 启用 --- 74FE7946-4378-11EC-AE8E-000C29CBE49F 生产日期 --- 启用 --- 2021-11-12 产品名称 --- 启用 --- KingbaseES V8 细分版本模板名 --- 启用 --- SALES-开发版 V8R6 产品版本号 --- 启用 --- V008R006C 浮动基准日期 ------ 启用 有效期间 --- 启用 --- 0 用户名称 --- 启用 --- 官方网站试用授权 项目名称 --- 启用 --- 官方网站试用授权 CPU检查 --- 启用 --- 0 容器名称 --- 禁用 --- 0 MAC地址 --- 启用 --- 00:00:00:00:00:00 最大连接数 --- 启用 --- 10 分区 --- 启用 --- 0 物理同步 --- 启用 --- 0 读写分离模块 --- 启用 --- 0 恢复到指定时间点 --- 启用 --- 0 集群对网络故障的容错 --- 启用 --- 0 快速加载 --- 启用 --- 0 日志压缩 --- 启用 --- 0 全文检索 --- 启用 --- 0 性能优化包(性能诊断) --- 启用 --- 0 性能优化包(性能调优) --- 启用 --- 0 保密通讯协议 --- 启用 --- 0 审计 --- 启用 --- 0 三权分立 --- 启用 --- 0 透明加密 --- 启用 --- 0 强制访问控制 --- 启用 --- 0 列加密 --- 启用 --- 0 密码复杂度 --- 启用 --- 0 用户锁定 --- 启用 --- 0 集群管理软件 --- 启用 --- 0 集群配置工具 --- 启用 --- 0 集群高级管理包 --- 启用 --- 0 并行查询 --- 启用 --- 0 并行备份还原 --- 启用 --- 0 异构数据源 --- 启用 --- 0 日志解析 --- 启用 --- 0 =============================================================================== 选择安装目录 ------ 请选择一个安装目录。 您想在哪一位置安装? 缺省安装文件夹: /opt/Kingbase/ES/V8 输入一个绝对路径,或按 <ENTER> 键以接受缺省路径 : /opt/KingBase 安装文件夹为: /opt/KingBase 是否正确? (Y/N): Y =============================================================================== 预安装摘要 ----- 在继续执行前请检查以下信息: 产品名: KingbaseES V8 安装文件夹: /opt/KingBase 产品功能部件: 数据库服务器, 数据迁移工具, 接口, 数据库部署工具, 高可用组件, 数据库对象管理工具 磁盘空间信息(用于安装目标): 所需空间: 2,995.44 MB 可用空间: 43,977.65 MB 请按 <ENTER> 键继续: =============================================================================== 准备就绪,可以安装 --------- 本安装程序已准备完毕,可在下列位置安装 KingbaseES V8: /opt/KingBase 按 <ENTER> 键进行安装: =============================================================================== 正在安装... =============================================================================== 选择存储数据的文件夹 ---------- 请选择一个文件夹,该文件夹必须为空。 Data folder (默认: /opt/KingBase/data): =============================================================================== 数据库端口 ----- 请输入数据库服务监听端口,默认54321。 端口 (默认: 54321): =============================================================================== 数据库管理员 ------ 请输入数据库管理员用户名。 用户名: (默认: system): =============================================================================== 输入密码 ---- 本次安装需输入密码才能继续。 请输入密码: 请输入密码:123456 =============================================================================== 再次输入密码 ------ 本次安装需再次输入密码才能继续。 请再次输入密码: 请再次输入密码:123456 =============================================================================== 数据库服务字符集 -------- 请输入服务端字符集编码。 ->1- UTF8 2- GBK 3- GB18030 输入您选择的号码,或按 <ENTER> 键以接受缺省值: =============================================================================== 数据库兼容模式 ------- 请输入数据库兼容模式。 1- PG ->2- ORACLE 输入您选择的号码,或按 <ENTER> 键以接受缺省值: =============================================================================== 字符大小写敏感特性 --------- 请输入字符大小写敏感特性。 ->1- YES 2- NO 输入您选择的号码,或按 <ENTER> 键以接受缺省值: =============================================================================== 存储块大小 ----- 请输入存储块大小。 ->1- 8k 2- 16k 3- 32k 输入您选择的号码,或按 <ENTER> 键以接受缺省值: =============================================================================== 提示 数据库即将被安装,需要花费一些时间,请耐心等待。 请按 <ENTER> 键继续: =============================================================================== 请稍候 =============================================================================== 安装完成 ---- 恭喜!KingbaseES V8 已成功地安装到: /opt/KingBase 如果您需要将 KingbaseES V8 注册为系统服务,请运行 /opt/KingBase/install/script/root.sh 按 <ENTER> 键以退出安装程序: cat: .installer.log: 没有那个文件或目录 Complete.
账号:system 密码:123456 端口:54321
-
安装完成后进行初始化
以 kingbase 用户完成数据库安装后需要切换到 root 用户注册服务,执行以下命令:
su - root
/opt/KingBase/install/script/root.sh
-
赋权 查看版本
赋权 chmod 755 /root
切换用户 su - kingbase
查看当前版本 kingbase -V
-
-
三、kingbase的使用
一、kingbase启动与停止
启动
kingbase -D /opt/KingBase/data
停止
sys_ctl stop -D /opt/KingBase/data
二、数据管理
-
测试
SQL
用法以及常用操作。测试之前先建立连接:ksql -U system test
-
基本使用
-- 一定要注意:关键词区分大小写 test=# CREATE TABLE test_table(a int); CREATE TABLE test=# \\dt 关联列表 架构模式 | 名称 | 类型 | 拥有者 ----------+------------+--------+-------- public | test_table | 数据表 | system (1 行记录) test=# \\d test_table 数据表 "public.test_table" 栏位 | 类型 | 校对规则 | 可空的 | 预设 ------+---------+----------+--------+------ a | integer | | | test=# INSERT INTO test_table VALUES(88); INSERT 0 1 test=# SELECT * FROM test_table; a ---- 88 (1 行记录) ————————————————
-
创建数据库
test=# CREATE DATABASE my_db_name; CREATE DATABASE test=# \\l 数据库列表 名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限 -----------+--------+----------+-------------+-------------+------------------- my_db_name | 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 行记录) ————————————————
-
三、命令行常用命令
# 切换用户 [root@hadoop4 ~]# su kingbase # 命令行客户端登录 [kingbase@hadoop4 root]$ ksql -U system test ksql (V8.0) 输入 "help" 来获取帮助信息. # 切换数据库 test-# \\c abc_db 您现在已经连接到数据库 "abc_db",用户 "system". # 列出所有库 abc_db-# \\l 数据库列表 名称 | 拥有者 | 字元编码 | 校对规则 | Ctype | 存取权限 -----------+--------+----------+-------------+-------------+------------------- abc_db | system | UTF8 | zh_CN.UTF-8 | zh_CN.UTF-8 | xyz_db | 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 | (6 行记录) # 切换数据库 abc_db-# \\c test 您现在已经连接到数据库 "test",用户 "system". # 列出当前库下的所有表 test-# \\dt 关联列表 架构模式 | 名称 | 类型 | 拥有者 ----------+------------+--------+-------- public | test_table | 数据表 | system (1 行记录) # 查看表结构 test-# \\d test_table 数据表 "public.test_table" 栏位 | 类型 | 校对规则 | 可空的 | 预设 ------+---------+----------+--------+------ a | integer | | | # 查看所有用户 test-# \\du 角色列表 角色名称 | 属性 | 成员属于 -----------+--------------------------------------------+---------- sao | 没有继承 | sso | 没有继承 | system | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | qwerty | | # 显示字符编码设置 test-# \\encoding UTF8 # 退出 test-# \\q
人大金仓(KingBase)导出表结构
人大金仓的数据库管理工具功能还不够强。只能通过SQL来导出表结构。
查看人大金仓的数据库对象,除了用它的脚本工具ksql,估计就只能是它自己提供的图形工具“数据库对象管理工具”了。第三方的工具都不行。不行是指无法使用人大金仓的数据库。
问题是,人大金仓自己的工具也不好使,缺乏一些本应提供的功能,比如导出表结构。你看oracle的plsql查询工具,要导出表结构就可以导出,要生成ER就可以生成ER图。而kingbase的数据库对象管理工具却没有这些功能。
只能用sql语句查询表信息,然后手动导出。
SELECT a.attname AS field,
b.description AS COMMENT,
t.typname AS type,
CASE WHEN a.atttypmod<=0 THEN NULL ELSE (a.atttypmod-4) END AS lengthvar,
a.attnotnull AS notnull
FROM sys_class c
INNER JOIN sys_namespace n on c.relnamespace = n.oid,
sys_attribute a LEFT JOIN sys_description b ON a.attrelid=b.objoid AND a.attnum = b.objsubid,
sys_type t
WHERE a.attnum > 0
and a.attrelid = c.oid
and a.atttypid = t.oid
AND nspname = 'work' -- schema
AND c.relname = 'outlet_nonfarmed' -- table_name
ORDER BY a.attnum;
参考文章
获取表结构,包括列名等信息
以上是关于人大金仓Kingbase8安装与基本使用的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot整合Mybatis+人大金仓(kingbase8)