我最近将我的cassandra dev集群更新到v2.2.2,其中包括RoleManager支持。我最近注意到在通过CQL创建新用户时:
CREATE ROLE abc WITH PASSWORD = 'abcde' AND LOGIN = true;
或
CREATE USER abc WITH PASSWORD 'abcde';
在任何一种情况下,执行上述命令后,用户都无法登录。检查system_auth键空间,我可以看到在“角色”表中写入了“行”,但在凭据或用户中没有。
如果我手动将相应的行插入凭据和用户,那么只有我的用户才能登录。
另请注意,在将行手动插入凭据和用户之前,我无法删除用户'abc'。
这里发生了什么 - 我是否误用了CREATE USER / CREATE ROLE?在我看来,CREATE操作应该进行必要的设置。或者升级迁移是否以某种微妙的方式失败?
答案 0 :(得分:2)
如果升级迁移过程成功完成,那么您应该在日志中看到以下条目:
Completed conversion of legacy users
Completed conversion of legacy credentials
如果是这种情况,则需要手动删除旧表:
DROP TABLE system_auth.users;
DROP TABLE system_auth.credentials;
这来自blog。 Cassandra将继续使用旧表,直到它们被删除。