赞
踩
https://www.wueasy.com/docs/wueasy/ty/cassandra.html
https://tableplus.com/windows
docker pull cassandra:latest
version: '3'
services:
cassandra:
image: cassandra:latest
container_name: cassandra
restart: always
privileged: true
ports:
- '9042:9042'
volumes:
- "/home/qiang/data/cassandra/data:/var/lib/cassandra"
复制配置文件
docker cp cassandra:/etc/cassandra/cassandra.yaml /home/qiang/data/cassandra/conf/
修改配置文件
# 查看用户命令 list users 报错
message="You have to be logged in and not anonymous to perform this request"
# 报错原因如下
当authenticator:AllowAllAuthenticator,它实际上允许所有用户,因此不会检查是否已登录.
# 解决报错问题
应该将设置更改为authenticator:PasswordAuthenticator,然后重新启动cassandra.
version: '3'
services:
cassandra:
image: cassandra:latest
container_name: cassandra
restart: always
privileged: true
ports:
- '9042:9042'
volumes:
- "/home/qiang/data/cassandra/data:/var/lib/cassandra"
- "/home/qiang/data/cassandra/conf/cassandra.yaml:/etc/cassandra/cassandra.yaml"
点击按钮后在启动客户端
连接数据库
创建数据库
创建表
CREATE TABLE user(
id int PRIMARY KEY,
name text
);
添加数据
insert into
loki.user (id, name)
VALUES
(1, 'qiang');
修改数据
UPDATE
user
SET
name = 'QIANG'
WHERE
id = 1;
查询数据
SELECT
*
FROM
user
删除数据
DELETE from
user
where
id = 1;
基本操作命令
-- 查看用户下信息 describe cluster; desc cluster; -- 查看所有keyspace describe keyspaces; desc keyspaces; -- 查看keyspace内容,knet为键空间 describe keyspace knet; desc keyspace knet; --创建keyspace -- replication_factor:复制因数,表示一份数据在一个DC之中包含几份,常用奇数 -- SimpleStrategy:复制策略,默认的是SimpleStrategy,单数据中心的模式,保持使用SimpleStrtegy即可 CREATE KEYSPACE knet WITH REPLICATION = { 'class': 'SimpleStrategy', 'replication_factor': 1 }; -- 使用keyspace use knet; -- 查示所有表 describe tables; desc tables; -- 查看表结构 desc table stocks; -- 删除表 drop table user; -- 创建用户 CREATE USER myusername WITH PASSWORD 'mypassword' SUPERUSER; -- 删除用户 DROP USER cassandra; -- 创建角色 create role cdhu1; -- 查看用户 list users; -- 修改密码 ALTER USER cassandra WITH PASSWORD '123456'; -- 修改角色 ALTER USER cassandra SUPERUSER; -- 导出数据库表结构 cqlsh -k loki -u cassandra -p cassandra 127.0.0.1 9042 -e "describe keyspace loki" > loki.cql -- 导入数据库表结构 cqlsh -u cassandra -p cassandra 127.0.0.1 9042 -e "SOURCE 'loki.cql'" -- 创建普通用户loki_dev CREATE USER loki_dev WITH PASSWORD 'WJ0Qem2jxzHtqmCa' NOSUPERUSER; -- 权限可分为:{ALL,ALTER,AUTHORIZE,CREATE,DROP,MODIFY,SELECT} -- 目标可分为:{ALL KEYSPACES,KEYSPACE keyspace_name, TABLE keyspace_name.table_name} -- 给loki_dev用户授予对于KeySpace:APPDB的建表权限: GRANT CREATE ON KEYSPACE APPDB TO loki_dev; -- 撤回loki_dev用户对于KeySpace:APPDB的建表权限: REVOKE CREATE ON KEYSPACE APPDB FROM loki_dev; -- 给用户user1授予KEYSPACE test的所有权限 LIST ALL PERMISSIONS ON KEYSPACE test OF user1 -- 查看已授权情况 LIST ALL PERMISSIONS ON KEYSPACE test OF user1;
创建用户并授权
-- 用户:loki_dev
-- 密码:123456
-- 键空间:loki_dev
-- 创建一个loki_dev用户并对loki_dev键空间有所有权限
CREATE USER loki_dev WITH PASSWORD '123456' NOSUPERUSER;
GRANT ALL ON KEYSPACE loki_dev TO loki_dev;
作者(Author):小强崽
来源(Source):https://www.wuduoqiang.com/archives/Docker安装Cassandra
协议(License):署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
版权(Copyright):商业转载请联系作者获得授权,非商业转载请注明出处。 For commercial use, please contact the author for authorization. For non-commercial use, please indicate the source.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。