mongodb3.0以上的远程连接问题

dbpath=/usr/local/data

logpath=/usr/mongodb/logs/mongodb.log

bind_ip=0.0.0.0

logappend=true

port=27017

fork=true

auth=false //设置用户之前,先不要设置认证,否则启动后,设置用户需要各种权限,建议用户权限等等创建好后,改为true后,重启后就可以正常使用权限了


mongodb3.0以后远程认证信息需要修改才能进行连接

在无认证的启动之后,进入shell

>use admin

switch to db admin

>db.createUser({})##创建root用户;

>db.auth()##做相关认证

>var schema = db.system.version.findOne({"_id":"authSchema"})

>schema.currentVersion = 3

3

>db.system.version.save(schema)

WriteResult({"nMatched:":1,"nUpserted":0,"nModified":1})

这样就是修改版本匹配成功



然后退出登录,修改配置的认证方式为true,然后重启数据库服务,然后是下面正常操作,然后创建相应的数据库,然后在数据库下面创建用户,建立相应的读写权限,紧接着要做用户的认证,这样才能保证远程访问的认证通过,两个步骤最好相继操作,完成之后,修改配置文件,把auth=true之后,再重启mongodb,一般远程访问就可以了


db.system.users.remove()和db.dropUser()的区别

前一个命令是系统级别账号的删除,当然也可以查看全系统中创建的用户(db.system.users.find())

但是它并不能删除库级别的用户,删除库中的用户,得进入到库中,用db.dropUser()的方式来删除

你可能感兴趣的:(local,认证,配置文件,false,admin)