文档下载建议反馈入口

  • 非安全模式
  • 安全模式

使用 kwbase CLI 工具连接 KaiwuDB

kwbase 是 KaiwuDB 提供的内置命令行工具。用户可以通过 kwbase 以安全模式(适用于生产环境)或非安全模式(适用于测试)连接 KaiwuDB,进行数据库操作和维护。

提示

如采用容器部署方式,需使用以下命令格式连接数据库:

docker exec -it <container-name> ./kwbase sql [security-opions] --host=<your-host-ip> [-u <user-name>]

非安全模式

提示

不安全模式应仅在测试环境中使用。

前提条件

步骤

  • 使用部署数据库时所用的用户连接 KaiwuDB。

    ./kwbase sql --insecure --host=<your-host-ip>
    
  • 普通用户连接 KaiwuDB。

    1. 使用部署数据库时所用的用户连接 KaiwuDB。

      ./kwbase sql --insecure --host=<your-host-ip>
      
    2. 创建普通用户。

      CREATE USER user1;
      
    3. 退出登录。

    4. 新用户连接 KaiwuDB。

      ./kwbase sql --insecure --host=<your-host-ip> -u user1
      

安全模式

KaiwuDB 支持两种安全模式:

  • 标准安全模式:通过 TLS 或 TLCP 提供进行通信加密,数据库只有一个管理员角色。有关详细信息,参见标准安全模式
  • 三权分立模式:通过在 sysrootsecrootauditroot 之间分配管理员职责,增强安全性。有关详细信息,参见三权分立模式

以下示例说明管理员用户和普通用户如何使用证书安全登录数据库。KaiwuDB 默认支持用户使用证书或密码登录数据库。有关其他认证方式的详细信息,参见身份鉴别与认证

标准安全模式

前提条件

TLS 安全模式

  • 使用部署数据库时所用的用户连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> 
    
  • 普通用户连接 KaiwuDB。

    1. 使用部署数据库时所用的用户连接 KaiwuDB。

      ./kwbase sql --certs-dir=certs --host=<your-host-ip> 
      
    2. 创建普通用户。

      CREATE USER user1;
      
    3. 为新用户生成证书。

      ./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key
      
    4. 退出登录。

    5. 新用户连接 KaiwuDB。

      ./kwbase sql --certs-dir=certs --host=<your-host-ip> -u user1
      

TLCP 安全模式

  • 使用部署数据库时所用的用户连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> --ssl-version=TLCPv1.1
    
  • 普通用户连接 KaiwuDB。

    1. 使用部署数据库时所用的用户连接 KaiwuDB。

      ./kwbase sql --certs-dir=certs --host=<your-host-ip>  --ssl-version=TLCPv1.1
      
    2. 创建普通用户。

      CREATE USER user1;
      
    3. 为新用户生成证书。

      ./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key
      
    4. 退出登录。

    5. 新用户连接 KaiwuDB。

      ./kwbase sql --certs-dir=certs --host=<your-host-ip> -u user1 --ssl-version=TLCPv1.1
      

三权分立模式

前提条件

TLS 安全模式

  1. sysrootsecrootauditroot 创建证书。

    ./kwbase cert create-client sysroot --certs-dir=certs --ca-key=certs/ca.key 
    ./kwbase cert create-client secroot --certs-dir=certs --ca-key=certs/ca.key 
    ./kwbase cert create-client auditroot --certs-dir=certs --ca-key=certs/ca.key 
    
  2. secroot 连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> -u secroot
    
  3. 授权 sysroot 创建用户和角色。

    ALTER USER sysroot WITH CREATEROLE;
    
  4. secroot 退出登录。

  5. sysroot 连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> -u sysroot
    
  6. 创建新用户。

    CREATE USER user1;
    
  7. sysroot 退出登录。

  8. 为新用户生成证书。

    ./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key
    
  9. 新用户连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> -u user1
    

TLCP 安全模式

  1. sysrootsecrootauditroot 创建证书。

    ./kwbase cert create-client sysroot --certs-dir=certs --ca-key=certs/ca.key --tlcp
    ./kwbase cert create-client secroot --certs-dir=certs --ca-key=certs/ca.key --tlcp
    ./kwbase cert create-client auditroot --certs-dir=certs --ca-key=certs/ca.key --tlcp
    
  2. secroot 连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> -u secroot --ssl-version=TLCPv1.1
    
  3. 授权 sysroot 创建用户和角色。

    ALTER USER sysroot WITH CREATEROLE;
    
  4. secroot 退出登录。

  5. sysroot 连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> -u sysroot --ssl-version=TLCPv1.1
    
  6. 创建新用户。

    CREATE USER user1;
    
  7. sysroot 退出登录。

  8. 为新用户生成证书。

    ./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key --tlcp
    
  9. 新用户连接 KaiwuDB。

    ./kwbase sql --certs-dir=certs --host=<your-host-ip> --ssl-version=TLCPv1.1 -u user1