mongo --ssl --host sampleHostname --sslPEMKeyFile /path/to/user.pem --sslCAFile /path/to/mongoca.cer --authenticationDatabase '$external' --authenticationMechanism=MONGODB-X509
我尝试使用
mongodump
命令获取数据,但是我一直遇到以下错误:
尝试1
mongodump -d mydb失败:无法连接到数据库服务器的错误。 尝试2 不能创建带有--db的mongodump备份。身份验证失败 mongodump -d mydb --authenticationDatabse '$external'
失败:无法连接到数据库服务器的错误。 尝试3 使用与连接相同的命令。
mongodump -d mydb --ssl --host sampleHostname --sslPEMKeyFile /path/to/user.pem --sslCAFile /path/to/mongoca.cer --authenticationDatabase '$external' --authenticationMechanism=MONGODB-X509
失败: 获取数据库 'mydb' 的集合时出错:运行 'listCollections' 时出错。数据库: 'mydb' 错误: 没有在 'mydb' 上执行命令的授权 {listCollections: 1, cursor: {} }
我尝试使用sudo运行相同的命令,但仍然返回相同的错误。
第4次尝试 使用mongodump的最小权限(转储特定的数据库)
mongodump -d mydb --ssl --host sampleHostname --sslPEMKeyFile /path/to/user.pem --sslCAFile /path/to/mongoca.cer --authenticationDatabase '$external' --authenticationMechanism=MONGODB-X509 --excludeCollection=system.indexes
失败:获取数据库'mydb'的集合时出错:运行'listCollections'时出错。数据库:'mydb',错误:未被授权在'mydb'上执行命令{listCollections: 1, cursor: {} }
我陷入了困境,最终将运行mongorestore
,但我不想在确保能够备份之前运行它。我想象中的mongodump
的解决方案将解决我可能遇到的任何问题,包括mongorestore
(如果有的话)。
--collection
标志。2)我对--authenticationDatabase
不是很熟悉,所以这可能是一个无用的点,但您能确保用户具有管理员权限吗? - Adam"userAdminAnyDatabase"
角色的管理员用户,用于admin
数据库;另一个用户是我,拥有2个角色。一个是mydb
数据库的"dbOwner"
角色,另一个是mydb
数据库的"readWrite"
角色。 - Joey