通过Docker搭建ScyllaDB
ScyllaDB是一个可以横跨在不同地域的分布式数据库, 因此我将其搭建在多台公网服务器。
一、启动容器
1.1:启动第1台ScyllaDB
通过下面的指令启动第一台ScyllaDB 在执行前请先将47.90.101.1换成你的公网IP
docker run --name scylla -d -p 9042:9042 -p 7000:7000 -v ./scylla/data:/var/lib/scylla/data scylladb/scylla --broadcast-address=47.90.101.1 --broadcast-rpc-address=47.90.101.1 --authenticator=PasswordAuthenticator --authorizer=CassandraAuthorizer
1.2:启动第2台ScyllaDB
在执行下面的命令前,请先将43.129.169.103换成你第二台服务器的IP, 然后将47.90.101.1换成你第一台服务器的公网IP
docker run --name scylla -d -p 9042:9042 -p 7000:7000 -v ./scylla/data:/var/lib/scylla/data scylladb/scylla --broadcast-address=43.129.169.103 --broadcast-rpc-address=43.129.169.103 --seeds="47.90.101.1" --authenticator=PasswordAuthenticator --authorizer=CassandraAuthorizer
1.3:查看运行状态
启动后即可在两台公网服务器查看运行状态了,一般需要等待30秒时间初始化后才能看到UN状态。
docker exec -it scylla nodetool status
二、熟悉操作指令
2.1:登录数据库
通过下面指令即可登录数据库进行操作了
docker exec -it scylla cqlsh -u cassandra -p cassandra
2.2:查看数据
现在可以查看数据库中的数据库(keyspace)名称列表了
DESCRIBE KEYSPACES
三、用户管理
创建一个用户,使用新用户登录,删除旧用户
3.1:创建新用户
CREATE ROLE root WITH PASSWORD = 'www.feieryun.com' AND SUPERUSER = true AND LOGIN = true;
3.2:登录新用户
退出当前用户并用新的用户登录,
docker exec -it scylla cqlsh -u root -p www.feieryun.com
3.3:删除默认用户
此时可以把默认用户删掉了
DROP ROLE IF EXISTS 'cassandra';
Docker-Compose
最后为了增加数据传输的安全性,我们需要启用SSL, 此时一条指令已经无法满足我们的个性化配置了, 因此我们采用Docker-Compose方案
文档信息
- 本文作者:Xiang Xisheng
- 本文链接:https://feieryun.github.io/articles/database/scylladb.html
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)