通过Docker-Compose搭建ScyllaDB
一、创建配置文件
1.1:创建项目目录
其中/root/docker/user/scylla/是项目的根目录,
其中./scylla/etc/用于保存配置文件和证书文件
1.2:创建Docker-Compose.yml
1.2.1:首先打开要编辑的文件
1.2.2:然后将下面代码贴入保存
将文件中的49.90.101.1换成您服务器的公网IP地址,
如果这是第二台服务器需要在exec /docker-entrypoint.py \代码下面添加
1.3:创建配置文件
1.3.1:scylla.yaml
将下面代码保存到项目根目录中的/scylla/etc/scylla.yaml
1.3.2:cassandra-rackdc.properties
将下面代码保存到项目根目录中的/scylla/etc/cassandra-rackdc.properties
其中dc和rack需要取消注解并填写相应资料
1.4:创建证书文件
根据官方提供的方法https://opensource.docs.scylladb.com/stable/operating-scylla/security/generate-certificate.html
在/root/docker/user/scylla/scylla/etc/cert/目录中创建证书
1.4.1:创建证书配置文件
首先将下面的代码保存到项目根目录中的/scylla/etc/cert/db.cfg
1.4.2:生成各种证书文件
1.5:加密登录配置文件
1.5.1:首先编辑根目录中的/scylla/etc/cqlshrc
1.5.2:然后贴入下面代码进行保存
二、启动Docker并检查运行状态
2.1:启动ScyllaDB并登录
2.1.1:启动项目到后台
2.1.2:查看运行状态
可以看到我们已经不开放7000端口了,转而使用SSL的7001端口
2.1.3:查看是否有报错
2.1.4:查看节点运行状态
2.1.5:测试加密登录
出现下面提示代表登录成功
2.2:基础设置
2.2.1:给用于系统认证的键空间设置复制策略
注意replication_factor的数量不能超过数据中心的node数量
2.2.2:管理超级用户
2.2.2.1:创建新的超级用户
2.2.2.2:登录新的超级用户
2.2.2.3:删除默认超级用户
2.3:键空间管理和用户权限
2.3.1:键空间管理
2.3.1.1 创建键空间
2.3.1.2:删除键空间
2.3.1.3:修改键空间
2.3.1.4:查看键空间
2.3.2:用户管理
可以参考官方文档
https://opensource.docs.scylladb.com/stable/operating-scylla/security/authorization.html
2.3.2.1:增加用户
https://docs.datastax.com/en/cql-oss/3.x/cql/cql_reference/cqlCreateRole.html
2.3.2.2:删除用户
2.3.2.3:修改用户
修改用户的密码
2.3.2.4:查询用户
2.3.3:权限管理
需要用到Role Based Access Control (RBAC)
https://opensource.docs.scylladb.com/stable/operating-scylla/security/rbac-usecase.html
2.3.3.1:给用户授权
例子1:给test用户授予对test键空间的读取权限
例子2:给test用户授予对test键空间的全部操作权限(ALTER |
AUTHORIZE |
CREATE |
DROP |
MODIFY |
SELECT) |
2.3.3.2:撤销用户权限
撤销test对test键空间的全部权限
2.3.3.3:查询权限列表
2.4 表管理
2.4.1:表管理
支持的数据类型可参考官方文档
https://cassandra.apache.org/doc/stable/cassandra/cql/types.html
2.4.1.1:建表
2.4.1.2:删表
DROP TABLE test.test;
2.4.1.3:改表
加字段
删字段
2.4.1.4:查表
2.4.2:表索引
2.4.2.1:创建索引
2.4.2.2:删除索引
2.5 数据管理
2.5.1 简单的增删改查
2.5.1.1 插入记录
2.5.1.2 删除记录
2.5.1.3 修改记录
2.5.1.4 查询记录