[英]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.