Neo4J - 数据库创建失败:错误:无法更改密码

6

我正在尝试为我的Neo4J桌面版创建一个数据库,但每次尝试时都会出现以下错误信息:无法创建数据库:错误:无法更改密码。

我该如何修复这个问题并成功创建数据库?

我正在运行Neo4J桌面版1.0.18,并尝试使用Neo4J 3.3.3。

8个回答

5

我显然处于同样的情况下。首先确认你的问题与我的相同!

1- 在应用程序Neo4J Desktop中访问菜单:Developer\Developer Tools

enter image description here

2- 选择控制台选项卡
3- 再次尝试创建数据库
4- 检查是否出现错误消息:
Neo4jAdmin: Error: missing "server" JVM at "C:\Program Files (x86)\Java\jre1.8.0_201\bin\server\jvm.dll". Please install or use the JRE or JDK that contains these missing components.

enter image description here

如果发生这种情况,请按照以下步骤操作:

1- 转到安装jre的目录,在我的例子中是:
C:\Program Files (x86)\Java\jre1.8.0_201\bin
2- 在该目录下创建一个名为server的文件夹
3- 还在bin目录中,进入client目录
4- 将client文件夹中的所有内容复制到server文件夹中
5- 以管理员身份重新启动Neo4J Desktop
6- 再次尝试创建数据库

希望这能有所帮助!


1
这个答案解决了我的问题,非常感谢!在Neo4j Dekstop 1.1.15上工作。 - ardan7779
你知道如果没有客户端文件夹,我该怎么做吗?而且已经有一个名为server的文件夹,里面包含classes.jsjvm.dllXusage.txt文件。 - Queuebee

2
我遇到了完全相同的问题。
以下是规格 -
Neo4j Desktop: 1.0.18
Neo4j: 3.3.4
Platform: Windows 10 Enterprise v 1703

要明确的是,这个问题(对我来说)发生在Windows平台上。如果其他评论者能够澄清他们所使用的平台,那将会很有帮助。
自从我最初的回复以来,我尝试过:
  • 升级到Neo4J 1.0.19
  • 安装所有用户,而不仅仅是我的账户
但这两种方法都没有起到帮助作用。
从Neo4J日志文件中观察,我认为这显示了问题所在。
[2018-03-29 11:20:04:0542] [info] Executing 'C:\Users\<mylogin>\.Neo4jDesktop\neo4jDatabases\database-c2c04041-5a81-43fe-a004-56b1c47f4c1c\installation-3.3.4\bin\neo4j-admin.bat' [ 'set-initial-password', 'password' ]
[2018-03-29 11:20:08:0511] [error] Neo4jAdmin: Invoke-Neo4jAdmin : An object at the specified path C:\Users\<mylogin in 8.2 format> does not exist.
At line:1 char:163
+ ... agement.psd1'; Exit (Invoke-Neo4jAdmin set-initial-password password)
+                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

在指定路径下有一个名为neo4j-admin.bat的文件,但似乎Neo4J找不到它。
错误消息显示截断了.bat文件路径在“个人文件夹”点。在我们的公司PC配置中,我们的个人文件路径附加了域名,因此我的个人文件夹看起来像<myname>.<domainname>
该错误已将此路径转换为旧的DOS“8.3”格式,形式为“MYNAM~1.COR”,然后失败了。
我猜这时候,Neo4J没有在Windows环境中测试过具有用户文件路径中“复杂”名称的情况。他们在某个地方遭受了Windows仍然存在的“文件名混淆”功能的影响,这会将长文件名混淆成8.3格式。
更新: 出于好奇,我尝试手动运行错误所指向的neo4j-admin.bat脚本(在cmd窗口中),结果如下-
neo4j-admin "set-initial-password" password
Invoke-Neo4jAdmin : Unable to determine the path to java.exe
    At line:1 char:163
    + ... agement.psd1'; Exit (Invoke-Neo4jAdmin set-initial-password password)
    +                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Write-Error], WriteErrorException
        + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Invoke-Neo4jAdmin

我认为这表明该脚本正在尝试运行,但需要一堆环境设置,这通常由Neo4J自己处理。
我更有信心地说,至少对于Windows安装来说,这是一个问题,原因是Neo4J的配置工具和脚本无法正确处理Windows路径名。
更新2:
我在GitHub中报告了Neo4J的一个错误(BugID#11429)。
开发人员表示已经解决了这个问题,修复将包含在未来的版本中。完整的回复文本如下-
    This issue should have been resolved with #11469.

    The fixed script will be included in upcoming releases. For the time
being, you can override your TEMP and TMP environment variables with a
path that doesn't contain MSDOS8.3 convention path entries
(as suggested by @chrisp429 in #9646).

    Feel free to re-open the issue if you encounter the error again with new versions.

2

我曾经遇到过类似的问题,以下是我解决它的方法:

  1. 删除位于%NEO4J_HOME%/data/dbms/auth的文件,或者将其移动到其他地方。

  2. 重新启动Neo4J桌面应用程序。

  3. 如果问题仍未解决,请将步骤1中提到的文件放回到%NEO4J_HOME%/data/dbms/auth位置。

: %NEO4J_HOME%是您的Neo4J安装文件夹的路径。


我的系统没有设置%NEO4J_HOME%环境变量,也没有在个人数据存储的%HOMEPATH%.Neo4jDesktop下找到名为“auth”的文件。你是在Windows还是Linux上运行? - Incans
1
我在谈论neo4j服务器安装文件夹,因为我在neo4j桌面应用程序之前已经安装了它。 - LeCodex

2

对我来说,导致这个错误的原因是我的密码中有一个{

我遇到了同样的警告:"无法创建数据库:错误:无法更改密码。"

我阅读了.Neo4jDesktop/log.log中的日志,并找到了这一行:

表达式或语句中的 '}' 意外标记。

一旦我从我的密码中删除了这个字符,我就能够创建一个数据库。


1

我曾经遇到同样的问题。试了几次后,我删除了被指定为“数据路径”的文件夹。然后启动Neo4j桌面版,现在它可以正常工作了。希望这能帮到你。


1
我曾经遇到过Neo4J 1.0.21版本的同样问题,后来卸载了该版本并升级到了Neo4J 1.0.22版本,这解决了我的问题。如果这个方法对你不起作用,请告诉我。

0

我在Mac上遇到了同样的问题。

最后通过删除整个配置字典来解决:~/Library/Application Support/Neo4j Desktop


0

请确保已经安装JDK!这就是解决我的问题的方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接