使用 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。
使用部署数据库时所用的用户连接 KaiwuDB。
./kwbase sql --insecure --host=<your-host-ip>
创建普通用户。
CREATE USER user1;
退出登录。
新用户连接 KaiwuDB。
./kwbase sql --insecure --host=<your-host-ip> -u user1
安全模式
KaiwuDB 支持两种安全模式:
- 标准安全模式:通过 TLS 或 TLCP 提供进行通信加密,数据库只有一个管理员角色。有关详细信息,参见标准安全模式。
- 三权分立模式:通过在
sysroot
、secroot
和auditroot
之间分配管理员职责,增强安全性。有关详细信息,参见三权分立模式。
以下示例说明管理员用户和普通用户如何使用证书安全登录数据库。KaiwuDB 默认支持用户使用证书或密码登录数据库。有关其他认证方式的详细信息,参见身份鉴别与认证。
标准安全模式
前提条件
TLS 安全模式
使用部署数据库时所用的用户连接 KaiwuDB。
./kwbase sql --certs-dir=certs --host=<your-host-ip>
普通用户连接 KaiwuDB。
使用部署数据库时所用的用户连接 KaiwuDB。
./kwbase sql --certs-dir=certs --host=<your-host-ip>
创建普通用户。
CREATE USER user1;
为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key
退出登录。
新用户连接 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。
使用部署数据库时所用的用户连接 KaiwuDB。
./kwbase sql --certs-dir=certs --host=<your-host-ip> --ssl-version=TLCPv1.1
创建普通用户。
CREATE USER user1;
为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key
退出登录。
新用户连接 KaiwuDB。
./kwbase sql --certs-dir=certs --host=<your-host-ip> -u user1 --ssl-version=TLCPv1.1
三权分立模式
前提条件
TLS 安全模式
为
sysroot
、secroot
和auditroot
创建证书。./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
secroot
连接 KaiwuDB。./kwbase sql --certs-dir=certs --host=<your-host-ip> -u secroot
授权
sysroot
创建用户和角色。ALTER USER sysroot WITH CREATEROLE;
secroot
退出登录。sysroot
连接 KaiwuDB。./kwbase sql --certs-dir=certs --host=<your-host-ip> -u sysroot
创建新用户。
CREATE USER user1;
sysroot
退出登录。为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key
新用户连接 KaiwuDB。
./kwbase sql --certs-dir=certs --host=<your-host-ip> -u user1
TLCP 安全模式
为
sysroot
、secroot
和auditroot
创建证书。./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
secroot
连接 KaiwuDB。./kwbase sql --certs-dir=certs --host=<your-host-ip> -u secroot --ssl-version=TLCPv1.1
授权
sysroot
创建用户和角色。ALTER USER sysroot WITH CREATEROLE;
secroot
退出登录。sysroot
连接 KaiwuDB。./kwbase sql --certs-dir=certs --host=<your-host-ip> -u sysroot --ssl-version=TLCPv1.1
创建新用户。
CREATE USER user1;
sysroot
退出登录。为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=certs --ca-key=certs/ca.key --tlcp
新用户连接 KaiwuDB。
./kwbase sql --certs-dir=certs --host=<your-host-ip> --ssl-version=TLCPv1.1 -u user1