【问题标题】:cassandra - only superuser is allowed to perform CREATE USER queriescassandra - 只允许超级用户执行 CREATE USER 查询
【发布时间】:2014-08-04 21:02:48
【问题描述】:

我正在使用 Java 1.7.0_60-b19 在 Cassandra 2.0.8 上的 Ubuntu 14.10 上登录

cqlsh -u cassandra -p cassandra

我在跑步:

CREATE USER a WITH PASSWORD 'a' NOSUPERUSER;

我收到了错误:

Bad Request: Only superusers are allowed to perform CREATE USER queries

推理的问题 - 我以超级用户身份登录。

我的问题是:如果我以 Cassandra 用户身份登录 cqlsh,为什么会告诉我我不是超级用户?

【问题讨论】:

  • 在 cassandra.yaml 中设置身份验证器之前,它假定您是匿名用户。因此,您无权创建超级用户。

标签: cassandra cql cqlsh


【解决方案1】:

您需要在 cassandra.yaml 文件中启用 PasswordAuthenticator。 要启用 PasswordAuthenticator,您需要更改 cassandra.yaml 中的验证器属性

改变

authenticator: AllowAllAuthenticator

authenticator: PasswordAuthenticator

使用以下命令登录后,您将能够添加新用户

cqlsh -u cassandra -p cassandra

【讨论】:

  • 以防万一有人也希望授予权限,您需要在 cassandra.yaml 中添加以下内容。授权人:CassandraAuthorizer
【解决方案2】:

1 在您的计算机上查找并打开“cassandra.yaml”文件。

2 找到并删除文件中的'authenticator: AllowAllAuthenticator'。

3 将其替换为 'authenticator: PasswordAuthenticator'

4 另外,添加这一行:'authorizer: CassandraAuthorizer'

重启 Cassandra。 如果你使用brew,你可以重启使用

brew 服务重启 cassandra

然后再次登录cql shell:

cqlsh -u cassandra -p cassandra localhost;

创建一个新的超级用户

使用 SUPERUSER = TRUE 和 LOGIN = TRUE 和 PASSWORD = '' 创建角色;

退出卡桑德拉

退出

使用新的超级用户登录方式登录

cql -u

然后输入密码即可进入!

https://gist.github.com/GHesericsu/83aca87b60c853945e242b3b9a6ceef0/edit

【讨论】:

    猜你喜欢
    • 2010-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-15
    • 1970-01-01
    • 2018-10-24
    • 2021-09-10
    • 1970-01-01
    相关资源
    最近更新 更多