金仓常用命令

kingbase人大金仓常用命令

一、常用命令处理

1.1、用户操作

  • 连接库

    [root@bld1 data]# ksql -USYSTEM -W123456 -p54321 TEST
    ksql (V008R003C002B0010)
    Type "help" for help.
    
  • 创建用户

    # 格式为:CREATE USER 账号名称 CONNECTION LIMIT - 1 PASSWORD ‘密码’;
    # 注意: 这里带引号的都需要写成单引号
    TEST=# create user cs CONNECTION LIMIT -1 PASSWORD '123456';
    CREATE ROLE
    
    • 查看当前所有用户

      TEST=# select * from sys_user;
      
    • 授权

      格式为:ALTER USER 账号 角色;
      
      ALTER USER cs SUPERUSER;
      ALTER USER cs CREATEDB;
      ALTER USER cs CREATEROLE;
      ALTER USER cs LOGIN;
      ALTER USER cs REPLICATION;
      

1.2、数据库操作

  • 创建数据库

    格式为:create database 数据库名称 with owner=‘账号名称’ ENCODING UTF8;
    # 注意: 这里的用户名称需要大写
    TEST=# create database firstdb with owner='CS' ENCODING UTF8;         
    CREATE DATABASE
    
    • 查看所有的数据库

      TEST=# SELECT datname FROM sys_database;
        DATNAME  
      -----------
       TEST
      
    • 查看当前库下的所有表

      # 需要先在查询的库下面  如 test
      SELECT COUNT(*) AS 表总数
      FROM sys_tables
      WHERE schemaname = 'public';
      
    • 查看当前库是什么模式

      show database_mode;
      
      • 重新初始化

        ./initdb -Usystem -D /opt/Kingbase/ES/V8/data_new -mpg -x123456
        
    • 统计总行数

      SELECT relname, reltuples
      FROM sys_catalog.sys_class r JOIN sys_catalog.sys_namespace n
      ON (relnamespace = n.oid)
      WHERE relkind = 'r' AND n.nspname = '这里是模式名'
      order by reltuples desc
      
  • 命令行创建用户与表

    • 创建用户

      # 找到ksql
      ../bin/ksql -p54321 -USYSTEM TEST -c 'create user doshare9 CONNECTION LIMIT -1 PASSWORD 'eetrust123';'
      
    • 创建库

      ../bin/ksql -p54321 -USYSTEM TEST -c 'create database 数据库 with owner=用户 ENCODING UTF8;'
      

1.3、配置文件

  • 金仓过滤某些关键字

    kingbase.conf
    exclude_reserved_words="xx"
    
  • 查看是否可以为空

    show ora_input_emptystr_isnull;
    # on是允许 '' 不能直接插入
    
    kingbase.conf中修改为off
    

二、ksql 常用命令速查表

  • 连接与基础信息

    命令 功能说明
    \q 退出 ksql 客户端
    \conninfo 查看当前连接信息(库名、用户、IP、端口)
    \c 库名 切换到指定数据库
    \c - 重新连接当前数据库
    \! 命令 在 shell 中执行系统命令(如 \! ls
    \timing on/off 开启 / 关闭 SQL 执行时间统计
  • 数据库操作

    命令 功能说明
    \l 列出所有数据库(库名、所有者、编码)
    \l+ 详细列出所有数据库(含大小、描述)
    CREATE DATABASE 库名; 创建数据库(SQL 语句)
    DROP DATABASE 库名; 删除数据库(需先断开所有连接)
  • 模式(Schema)操作

    命令 功能说明
    \dn 查看当前库下所有模式
    \dn+ 查看模式详情(所有者、权限)
    CREATE SCHEMA 模式名; 创建模式(SQL 语句)
    DROP SCHEMA 模式名; 删除模式(SQL 语句)
    SET search_path TO 模式名; 设置默认查询模式
  • 表与对象操作

    命令 功能说明
    \d 查看当前模式下所有表、视图、序列
    \dt 仅查看当前模式下的所有表
    \dt 模式名.* 查看指定模式下的所有表
    \d 表名 查看表结构(字段、类型、约束、索引)
    \di 查看当前模式下的所有索引
    \dv 查看当前模式下的所有视图
    \df 查看当前模式下的所有函数 / 存储过程
  • 用户与权限操作

    命令 功能说明
    \du 列出所有数据库用户 / 角色
    \du+ 查看用户详情(权限、所属组)
    CREATE USER 用户名 WITH PASSWORD '密码'; 创建用户(SQL 语句)
    ALTER USER 用户名 WITH PASSWORD '新密码'; 修改用户密码(SQL 语句)
    GRANT ALL ON 表名 TO 用户名; 给用户授予表权限(SQL 语句)
    REVOKE ALL ON 表名 FROM 用户名; 回收用户表权限(SQL 语句)
  • 实用辅助命令

    命令 功能说明
    \i /path/to/script.sql 执行外部 SQL 脚本文件
    \o /path/to/output.txt 将后续查询结果输出到指定文件
    \p 显示当前查询缓存区内容
    \r 清空查询缓存区
    \encoding 查看 / 设置客户端编码
    \h SQL命令 查看指定 SQL 命令的帮助(如 \h SELECT
    \? 查看所有 ksql 内置命令的帮助
  • 示例

    • 连接数据库并查看所有库

      ksql -h 127.0.0.1 -p 54321 -U system -d test
      \l
      
    • 切换到指定库,查看模式和表.

      \c nacos_config
      \dn
      \dt
      \d config_info
      

三、 备份与恢复

3.1、二进制格式(.dmp)

  • 备份全库

    sys_dump -h 主机IP -p 端口 -U 用户名 -F c -f 备份文件名.dmp 要备份的库名
    # 示例
    sys_dump -h 127.0.0.1 -p 54321 -U system -F c -f nacos_back.dmp nacos_config
    
  • 还原全库

    sys_restore -h 主机IP -p 端口 -U 用户名 -d 目标库名 备份文件名.dmp
    # 示例
    sys_restore -h 127.0.0.1 -p 54321 -U system -d nacos_config nacos_back.dmp
    

3.2、SQL 格式(.sql)

3.2.1、全库备份

  • 备份全库

    sys_dump -h 主机IP -p 端口 -U 用户名 -f 备份文件名.sql 要备份的库名
    # 示例
    sys_dump -h 127.0.0.1 -p 54321 -U system -f nacos_back.sql nacos_config
    
  • 还原全库

    ksql -h 主机IP -p 端口 -U 用户名 -d 目标库名 -f 备份文件名.sql
    # 示例
    ksql -h 127.0.0.1 -p 54321 -U system -d nacos_config -f nacos_back.sql
    

3.2.2、模式备份

  • 备份 指定模式

    # 备份成 inserts语句(必须加上)
    sys_dump -h IP -p 端口 -U 用户 -f 文件名.sql 库名 -n 模式名 --inserts
    # 示例
    sys_dump -h 127.0.0.1 -p 54321 -U system -f nacos_public.sql nacos_config -n public --inserts
    
  • 还原

    ksql -h 主机IP -p 端口 -U 用户名 -d 目标库名 -f 备份文件名.sql
    # 示例
    ksql -h 127.0.0.1 -p 54321 -U system -d nacos_config -f public.sql
    

快速查询

格式 备份指定模式 还原指定模式
二进制 dmp sys_dump ... -n 模式名 -F c -f xxx.dmp sys_restore ... -d 库名 -n 模式名 xxx.dmp
SQL 文件 sys_dump ... -n 模式名 -f xxx.sql ksql ... -d 库名 -f xxx.sql
Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐