繁体   English   中英

如何在 arangodb 中重置 root 的密码?

[英]How to reset password for root in arangodb?

我是根用户,但我忘记了我现在该怎么办?

我尝试重新安装 arangodb,删除所有数据库,但新安装后旧密码仍然存在

service arangodb3 stop
/usr/sbin/arangod --server.authentication false

然后

require("@arangodb/users").replace("root", "my-changed-password");
exit
service arangodb3 restart // **VERY IMPORTANT STEP!!!**
//if you don't restart the server everyone can have access to your database

使用选项--server.authentication false启动服务器arangod 这将禁用身份验证,以便您可以访问没有密码的数据库。 如果要求您在arangosh或Web界面中提供凭据,请使用root作为用户名和空密码。 然后,您可以更改用户root的密码(在Web界面中:USERS> root> Change Password)。

建议将服务器绑定到--server.endpoint tcp://127.0.0.1:8529而不是0.0.0.0且关闭身份验证,这样外部没有人可以访问不受保护的数据库,但只有你本地访问服务器(您也可以将其绑定到网络地址,但在这种情况下确保端口不对公众开放)。

我在Ubuntu上运行ArangoDB3作为服务,我无法弄清楚如何将--server.authentication false--server.endpoint tcp://127.0.0.1:8529参数传递给arangod进程。

我通过更改/etc/arangodb3/arangod.conf中的相同值使其工作。

第 1 步:- 停止运行 arangodb 实例

     sudo systemctl stop arangodb3

第 2 步:- 使用禁用身份验证启动 arangodb

     sudo /usr/sbin/arangod --server.authentication false

第 3 步:- 在新终端中启动 arango shell

     arangosh

第 4 步:- 在 arango shell 中更改 root 的密码

     require("@arangodb/users").replace("root", "new-password");

第 5 步:- 关闭 arango 外壳

     exit

第 6 步:- 在前一个终端中停止 arangodb 未经身份验证的服务

     CTRL + c

第 7 步:- 重新启动 arangodb 服务

     sudo systemctl start arangodb3

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM