我在我的mongoinstance上创建了两个具有以下角色的用户
use mydb
db.createUser(
{
user: "dbUser",
pwd: "dbPassword",
roles: [ { role: "dbOwner", db: "mydb" } ]
}
)
use admin
db.createUser(
{
user: "adminUser",
pwd: "adminPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Run Code Online (Sandbox Code Playgroud)
使用以上凭据启动和运行MongoDb,现在当我尝试在终端中使用以下命令获取mongodump时
mongodump --host localhost --port 27017 -u dbUser -p dbPassword --authenticationDatabase mydb
Run Code Online (Sandbox Code Playgroud)
我收到以下错误,无法解决此问题
connected to: localhost:27017
assertion: 13 not authorized on admin to execute command { getParameter: 1, authSchemaVersion: 1 }
Run Code Online (Sandbox Code Playgroud)
任何的想法?我在哪里做错了?
Akh*_*hil 14
正如@wdberkeley所建议的那样,通过将db name作为参数传递来解决问题
下面的命令运行正常
mongodump --host localhost --port 27017 -u dbUser -p dbPassword -d mydb
Run Code Online (Sandbox Code Playgroud)
mongodump不是Mongo shell命令,它是一个操作系统命令.
就像你运行mongo.exe从操作系统提示符启动shell一样,你应该从操作系统提示符运行mongodump.例:
mongodump --host localhost --port 27017 -u dbUser -p dbPassword --authenticationDatabase mydb
Run Code Online (Sandbox Code Playgroud)
谢谢
| 归档时间: |
|
| 查看次数: |
8151 次 |
| 最近记录: |