系统:centos7
mongo client:mongo2.6.12
mongo server:mongo3.6
连接报错:
2018-07-02T11:51:48.904+0800 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18, codeName: "AuthenticationFailed" } at src/mongo/shell/db.js:1292
exception: login failed
原因:由于mongo client版本较低,不支持认证机制,导致客户端认证失败。
解决方法:
sudo yum remove mongodb
sudo yum remove mongodb-server
安装mongodb3.6版本
安装成功之后,根据服务器设置的认证机制,选择SCRAM-SHA-1或者MONGODB-CR等方式,默认为SCRAM-SHA-1
连接命令:
mongo -authenticationDatabase admin -u user -p pass -host hostname -port 27017 [--authenticationMechanism SCRAM-SHA-1]