首页 > 解决方案 > 无法更改neo4j密码

问题描述

我正在尝试通过以下命令行操作更改我的 neo4j 密码,遵循 Brent Barbata 在此链接上的回答

curl -H "Content-Type: application/json" -XPOST -d '{"password":"new_password"}' -u neo4j:neo4j http://localhost:7474/user/neo4j/password

但我收到以下错误

{
  "errors" : [ {
    "code" : "Neo.ClientError.Security.Unauthorized",
    "message" : "Invalid username or password."
  } ]

我按照这个问题的想法尝试了这种替代方式

curl -H "Content-Type: application/json"\ -H "Authorization: Basic `echo -n 'USERNAME:OLDPASSWORD | base64`"\ -X POST -d '{"password":"NEWPASSWORD"}'\ -I http://localhost:7474/user/neo4j/password

并得到以下错误

curl: (6) Could not resolve host: Authorization
curl: (6) Could not resolve host: POST
{
  "errors" : [ {
    "code" : "Neo.ClientError.Security.Unauthorized",
    "message" : "No authentication header supplied."
  } ]

这些方法有什么问题,更改密码的方法是什么?我不想:server change-password在浏览器上使用。我在 Ubuntu 16.04 上运行 neo4j 3.3.5

标签: curlcommand-lineneo4jubuntu-16.04change-password

解决方案


如果是初始设置密码(即在服务器第一次启动之前):

bin/neo4j-admin set-initial-password MyNewPassWord

如果要更改密码,只需使用您的登录名/密码连接到 cypher-shell,然后执行以下查询:

CALL dbms.security.changePassword('MyNewPassWord')

推荐阅读