忘记 Neo4j 服务器密码

问题描述 投票:0回答:7

因为这个问题从未得到解答,我希望有人可以帮助我重置密码以连接到我的neo4j密码(位于localhost:7474)。 Zachary 写了一篇文章,通过某人重新启动服务来解决这个问题:

sudo service neo4j-service restart

但我觉得这没有帮助。在终端中,我运行了 bin/neo4j restart (我认为这是等效的命令),但无法重置我的密码。

neo4j passwords
7个回答
71
投票

根据环境和安装类型,您需要在目录 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

完成此操作后,您需要重新启动服务器以使更改生效,系统会要求您输入新密码。


10
投票

在windows机器中,我删除了以下路径的auth文件:

Users\systemUser\Documents\Neo4j\default.graphdb\data\dbms 然后我重新启动了 neo4j 服务器。

导航至 http://localhost:7474。它会要求您输入用户 neo4j 的密码。输入默认密码(neo4j)

此后,您将被导航到更改密码屏幕。更改密码。

注意:对于其他操作系统,身份验证文件路径可能不同


7
投票

我运行的是4.0.7版本。我在互联网上找到的许多答案都指出“删除/data/dbms/auth”。这不适用于 4.0.7,该文件不存在。

我按照这些说明进行操作,它们起作用了。 https://neo4j.com/docs/operations-manual/current/configuration/password-and-user-recovery/

主要做这个:

  1. 如果 neo4j 正在运行,请停止它

  2. 编辑/etc/neo4j/neo4j.conf,并取消注释

    dbms.security.auth_enabled=false

  3. 连接数据库并运行

    更改用户 neo4j 设置密码“mynewpass”; :退出

  4. 停止neo4j

  5. 注释掉

    dbms.security.auth_enabled=false

  6. 启动neo4j


2
投票

对于 Mac,我必须删除 ~/Documents/Neo4j/default.graphdb/data/dbms/auth

然后重启服务器,并重置密码。


2
投票

在 DB 和 Windows 安装的 Neo4j Desktop 上(如果它在 Mac 和 Lnx 上运行,其他人可以加入),您可以简单地:

  1. 停止数据库,
  2. 单击功能区上带有数据库名称和“打开”按钮的任意位置(在您将鼠标悬停在此区域上之前,该按钮将被隐藏) - 我只需单击名称,因为该标签控件上没有事件,并且
  3. 您将在右侧看到“详细信息”、“插件”和“升级”选项 - 选择“详细信息”。
  4. 在底部,打开“重置 DBMS 密码”即可开始。

这有点可怕,因为您不需要知道原始密码...但是由于这应该仅用于开发任务和/或由 dba 使用,这似乎适合我的懒惰需求:)

HTH.


0
投票

除了删除 auth 文件 sudo rm /data/dbms/auth 之外,我还必须为浏览器端口 7474 和 Bolt Connector 端口 7687 设置本地端口转发。这是由于浏览器的出站防火墙造成的我正在使用的网络。


0
投票

我已按照以下步骤恢复默认的 neo4j 用户密码。

  1. 停止 neo4j 实例
systemctl stop neo4j
  1. 根据您的部署禁用身份验证

    vi /etc/neo4j/neo4j.conf
    set this value to false
    dbms.security.auth_enabled=false
    
  2. 使用 Cypher shell 连接到系统数据库。

cypher-shell -d system
  1. 为管理员用户设置新密码。在此示例中,管理员用户名为 neo4j。
ALTER USER neo4j SET PASSWORD 'yournewpassword'
  1. 退出 cypher-shell 控制台:
:exit;
  1. 再次启用身份验证
vi /etc/neo4j/neo4j.conf
set this value to true
dbms.security.auth_enabled=true
  1. 根据您的选择从 cypher-shell 或控制台使用新密码登录
cypher-shell -u neo4j -p 'yournewpassword'
© www.soinside.com 2019 - 2024. All rights reserved.