Talk is Cheap, Show me the Code! <<网站首页文章列表

  • MongoDB关于authSchema的认证版本问题

    AuthenticationFailed MONGODB-CR credentialsmongoDB 3.0以上版本,服务端默认的账号认证方式是「SCRAM-SHA-1」,对应认证版本是5.0。而目前一般的mongoDB客户端,包括mongoBooster、mongoVUE或者Robomongo一般还是3.0版本的「MONGODB-CR」,还有我们java驱动中使用的一般也还有3.0版本的认证方式,所以客户端连接或者启动项目会报类似的错误:shellFailed to authenticate root@admin with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document既然知道这个错误信息是由客户端与服务端的认证方式差异造成的,那么我们需要修改服务端的默认认证版本即可。--- 查看服务端认证版本在服务器通过mongo host:port/db -u root -p pwd方式登陆shell命令窗口,然后在admin库查看当前的认证版本。bash db.system.version.findOne({id:'authSchema'});得到信息如下:bash { "id" : "authSchema", "currentVersion" : 5 }--- 修改currentVersion 如果当前是replSet模式,建议先切换为master/slave模式本文章的例子中,使用的mognodb配置文件如下:bashbindip 0.0.0.0dbpath /home/mongodb/repDatalogpath /home/mongodb/log/mongodb.loglogappend trueport 27017fork trueauth true用于主从、副本集之间的鉴权keyFile /home/mongodb/conf/key directoryperdb truemaxConns2000httpinterface truereplSet replSetTestmaster true1. 以管理员登陆数据库,删除所有用户信息。bash { "id" : "authSchema", "currentVersion" : 5 }2. 修改auth false,重启mongod。3. 登陆无账号模式,在admin数据库下创建系统权限用户。bash db.createUser({user:"root",pwd:"1

    mongoDB   认证   authSchema      2019-07-12 浏览(2460) 阅读原文>>
  • 1 
    blogTest
    分享文章
     
    使用APP的"扫一扫"功能,扫描左边的二维码,即可将网页分享给别人。
    你也可以扫描右边本博客的小程序二维码,实时关注最新文章。