因为这个问题从未得到解答,我希望有人可以帮助我重置密码以连接到我的neo4j密码(位于localhost:7474)。 Zachary 写了一篇文章,通过某人重新启动服务来解决这个问题:
sudo service neo4j-service restart
但我觉得这没有帮助。在终端中,我运行了 bin/neo4j restart (我认为这是等效的命令),但无法重置我的密码。
根据环境和安装类型,您需要在目录 dbms 下查找名为 auth 的文件并将其删除。
在 MacO 中,对于 dmg 安装(根据自定义位置进行调整):
/Users/xyz/Documents/Neo4j/default.graphdb/dbms/auth
或(自制安装)
/usr/local/Cellar/neo4j/x.x.x/libexec/data/dbms/auth
Windows 用户应在 default.graphdb/dbms 目录中查找相同的文件。
在Ubuntu中
/var/lib/neo4j/data/dbms/auth
在 docker 容器中
/var/lib/neo4j/data/dbms/auth
或者,您可以选择在配置文件中禁用身份验证,通常可以在
中找到MacO:
/Users/xyz/Documents/Neo4j/.neo4j.conf
或
/usr/local/Cellar/neo4j/x.x.x/libexec/conf
并将此属性设置为 false
dbms.security.auth_enabled=false
完成此操作后,您需要重新启动服务器以使更改生效,系统会要求您输入新密码。
在windows机器中,我删除了以下路径的auth文件:
Users\systemUser\Documents\Neo4j\default.graphdb\data\dbms 然后我重新启动了 neo4j 服务器。
导航至 http://localhost:7474。它会要求您输入用户 neo4j 的密码。输入默认密码(neo4j)
此后,您将被导航到更改密码屏幕。更改密码。
注意:对于其他操作系统,身份验证文件路径可能不同
我运行的是4.0.7版本。我在互联网上找到的许多答案都指出“删除/data/dbms/auth”。这不适用于 4.0.7,该文件不存在。
我按照这些说明进行操作,它们起作用了。 https://neo4j.com/docs/operations-manual/current/configuration/password-and-user-recovery/
主要做这个:
如果 neo4j 正在运行,请停止它
编辑/etc/neo4j/neo4j.conf,并取消注释
dbms.security.auth_enabled=false
连接数据库并运行
更改用户 neo4j 设置密码“mynewpass”; :退出
停止neo4j
注释掉
dbms.security.auth_enabled=false
启动neo4j
对于 Mac,我必须删除 ~/Documents/Neo4j/default.graphdb/data/dbms/auth
然后重启服务器,并重置密码。
在 DB 和 Windows 安装的 Neo4j Desktop 上(如果它在 Mac 和 Lnx 上运行,其他人可以加入),您可以简单地:
这有点可怕,因为您不需要知道原始密码...但是由于这应该仅用于开发任务和/或由 dba 使用,这似乎适合我的懒惰需求:)
HTH.
除了删除 auth 文件 sudo rm /data/dbms/auth 之外,我还必须为浏览器端口 7474 和 Bolt Connector 端口 7687 设置本地端口转发。这是由于浏览器的出站防火墙造成的我正在使用的网络。
我已按照以下步骤恢复默认的 neo4j 用户密码。
systemctl stop neo4j
根据您的部署禁用身份验证
vi /etc/neo4j/neo4j.conf set this value to false dbms.security.auth_enabled=false
使用 Cypher shell 连接到系统数据库。
cypher-shell -d system
ALTER USER neo4j SET PASSWORD 'yournewpassword'
:exit;
vi /etc/neo4j/neo4j.conf set this value to true dbms.security.auth_enabled=true
cypher-shell -u neo4j -p 'yournewpassword'