人大金仓Kingbase8安装与基本使用

Posted 码农茶叶蛋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人大金仓Kingbase8安装与基本使用相关的知识,希望对你有一定的参考价值。

目录

一、准备工作

一、安装文件

二、禁用防火墙

三、修改内核参数

四、上传文件

二、安装kingbase

三、kingbase的使用

一、kingbase启动与停止

二、数据管理

三、命令行常用命令


一、准备工作

  1. 操作系统 : CentOS7 x86_64

  2. 数据库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

  1. 进入到cd /opt

    创建目录: mkdir /kingbase 将文件挂载到目录kingbas下: mount /opt/KingbaseES_V008R006C005B0054_Lin64_install.iso /kingbase

     

  2. 由于不⽀持以root执⾏安装脚本,必须⾮root⽤户执⾏,所以先创建⼀个普通⽤户⽤来执⾏安装脚本 创建用户:
    useradd kingbase
    创建一个目录供数据库安装时使用,并设置有写入权限:
    mkdir /opt/KingBase
    chmod -R 777 /opt/KingBase

  3. 切换到kingbase用户安装数据库
    su - kingbase
    sh /kingbase/setup.sh

  4. 根据提示进行安装 可以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

    1. 安装完成后进行初始化

      以 kingbase 用户完成数据库安装后需要切换到 root 用户注册服务,执行以下命令:

      su - root

      /opt/KingBase/install/script/root.sh

       

      1. 赋权 查看版本

        赋权 chmod 755 /root

        切换用户 su - kingbase

        查看当前版本 kingbase -V

         

三、kingbase的使用

一、kingbase启动与停止

启动

kingbase -D /opt/KingBase/data

停止

sys_ctl stop -D /opt/KingBase/data

二、数据管理

  1. 测试 SQL 用法以及常用操作。测试之前先建立连接: ksql -U system test

 

  1. 基本使用

    -- 一定要注意:关键词区分大小写
    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 行记录)
    ————————————————
    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)

国产化人大金仓数据库转库工具:oracle12c数据库转kingbase8.6人大金仓数据库实例演示

人大金仓kingbaseES安装及操作

人大金仓修改最大连接数

统信里安装人大金仓