使用 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-dir> --host=<your-host-ip>普通用户连接 KaiwuDB。
使用部署数据库时所用的用户连接 KaiwuDB。
./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip>创建普通用户。
CREATE USER user1;为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key退出登录。
新用户连接 KaiwuDB。
./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> -u user1
TLCP 安全模式
使用部署数据库时所用的用户连接 KaiwuDB。
./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> --ssl-version=TLCPv1.1普通用户连接 KaiwuDB。
使用部署数据库时所用的用户连接 KaiwuDB。
./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> --ssl-version=TLCPv1.1创建普通用户。
CREATE USER user1;为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key退出登录。
新用户连接 KaiwuDB。
./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> -u user1 --ssl-version=TLCPv1.1
三权分立模式
前提条件
TLS 安全模式
为
sysroot、secroot和auditroot创建证书。./kwbase cert create-client sysroot --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key ./kwbase cert create-client secroot --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key ./kwbase cert create-client auditroot --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.keysecroot连接 KaiwuDB。./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> -u secroot授权
sysroot创建用户和角色。ALTER USER sysroot WITH CREATEROLE;secroot退出登录。sysroot连接 KaiwuDB。./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> -u sysroot创建新用户。
CREATE USER user1;sysroot退出登录。为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key新用户连接 KaiwuDB。
./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> -u user1
TLCP 安全模式
为
sysroot、secroot和auditroot创建证书。./kwbase cert create-client sysroot --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key --tlcp ./kwbase cert create-client secroot --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key --tlcp ./kwbase cert create-client auditroot --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key --tlcpsecroot连接 KaiwuDB。./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> -u secroot --ssl-version=TLCPv1.1授权
sysroot创建用户和角色。ALTER USER sysroot WITH CREATEROLE;secroot退出登录。sysroot连接 KaiwuDB。./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> -u sysroot --ssl-version=TLCPv1.1创建新用户。
CREATE USER user1;sysroot退出登录。为新用户生成证书。
./kwbase cert create-client user1 --certs-dir=<certs-dir> --ca-key=<certs-dir>/ca.key --tlcp新用户连接 KaiwuDB。
./kwbase sql --certs-dir=<certs-dir> --host=<your-host-ip> --ssl-version=TLCPv1.1 -u user1