之前一直在本机上跑,前段时间把后台架到云服务器上了,在settings里加上了username和password,希望同步的时候修改一下settings就能在本地测试。
 
因为云服务器端数据库连接需要验证,于是在本地也打算加上身份验证,而mongodb默认是没有验证的。
 
在网上搜索了一下,方法都比较旧,主要是在本地的mongodb中新增一个user:
进入mongodb下的bin
mongodb $ cd bin

不开启验证的方式启动mongodb

bin $ ./mongod -dbpath ../blog
输入mongo命令,进入test数据库
bin $ ./mongo
添加admin用户
 use admin
db.createUser({
user:'admin',
pwd:'admin',
roles:[{role:'userAdminAnyDatabase',db:'admin'}]
})
切换到我的数据库(blog 为我的数据库名称),在我的数据库下创建用户
 use blog
db.createUser({
user:'testuser',
pwd:'test',
roles:[{role:'dbOwner',db:'blog'}]
})
重启服务器,开启验证
bin $ ./mongod -dbpath ../blog --auth
使用Robomongo登陆,显示Authentication Failed,查看服务器日志:
2015-08-31T17:39:46.416+0800 I ACCESS   [conn46] Failed to authenticate testuser@blog with mechanism MONGODB-CR: AuthenticationFailed MONGODB-CR credentials missing in the user document
 
查看文档,发现是因为mongodb验证方式改变,加入了(SCRAM)SHA-1
在mongo里将刚创建的用户删除
use blog
db.dropUser('testuser') 
关闭验证重启数据库
在mongo里修改system.version文档里面的authSchema版本为3(旧版本)
 use admin
db.system.version.update({'_id':'authSchema'},{$set:{'currentVersion':}})
db.system.version.find()
可以看到:{ "_id" : "authSchema", "currentVersion" : 3 }
 
删除之前创建的用户,重新创建用户(这一次使用验证方式为MONGODB-CR)
 use blog
db.dropUser('testuser')
db.createUser({
user:'testuser',
pwd:'test',
roles:[{role:'dbOwner',db:'blog'}]
})

这一次可以用Robomongo成功登陆~

mongodb 认证方式(version:3.0.4)的更多相关文章

  1. MySQL 8.0.14 新的密码认证方式和客户端链接

    MySQL 8.0.14 新的密码认证方式和客户端链接 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.   MySQL8.0在密码认证方式发生了改变,这也是有点小伙伴在MySQL创建 ...

  2. 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程

    我们在之前的文章中中已经讲到了正确部署运行cas server 和 在cas client中配置. 在此基础上 我们去掉了https的验证,启用了http访问的模式. 单点登录(七)-----实战-- ...

  3. 单点登录(十四)-----实战-----cas5.0.x登录mongodb验证方式常规的四种加密的思考和分析

    我们在上一篇文章中已经讲解了cas4.2.X登录启用mongodb验证方式 单点登录(十三)-----实战-----cas4.2.X登录启用mongodb验证方式完整流程 但是密码是明文存储的,也就是 ...

  4. MongoDB 副本集+分片 认证方式搭建

    MongoDB 副本集+分片 认证方式搭建 参考资料: https://www.cnblogs.com/ityouknow/p/7344005.htmlhttps://jorwen-fang.itey ...

  5. Spring Boot 2.0 利用 Spring Security 实现简单的OAuth2.0认证方式2

    0.前言 经过前面一小节已经基本配置好了基于SpringBoot+SpringSecurity+OAuth2.0的环境.这一小节主要对一些写固定InMemory的User和Client进行扩展.实现动 ...

  6. Unsupported major.minor version 52.0 处理方式

    Exception in thread "main" java.lang.UnsupportedClassVersionError: com/globalroam/openstac ...

  7. cas sso单点登录系列3_cas-server端配置认证方式实践(数据源+自定义java类认证)

    转:http://blog.csdn.net/ae6623/article/details/8851801 本篇将讲解cas-server端的认证方式 1.最简单的认证,用户名和密码一致就登录成功 2 ...

  8. Mongodb 认证鉴权那点事

    [TOC] 一.Mongodb 的权限管理 认识权限管理,说明主要概念及关系 与大多数数据库一样,Mongodb同样提供了一套权限管理机制. 为了体验Mongodb 的权限管理,我们找一台已经安装好的 ...

  9. spring jwt springboot RESTful API认证方式

    RESTful API认证方式 一般来讲,对于RESTful API都会有认证(Authentication)和授权(Authorization)过程,保证API的安全性. Authenticatio ...

随机推荐

  1. 11、scala类型参数

    一.类型参数1 1.介绍 类型参数是什么?类型参数其实就类似于Java中的泛型.先说说Java中的泛型是什么,比如我们有List a = new ArrayList(),接着a.add(1),没问题, ...

  2. hdu1078

    #include <stdio.h> #include <string.h> #include <algorithm> using namespace std; i ...

  3. Linux之shell备份数据库

    功能概述: 使用shell脚本对服务器的数据库(全部或指定数据库)进行备份.对15天(固定天数)之前的数据库备份进行删除 命令实现: 待定

  4. oracle函数获取汉字拼音的首字母

    CREATE OR REPLACE FUNCTION F_TRANS_PINYIN_CAPITAL(P_NAME IN VARCHAR2) RETURN VARCHAR2 AS V_COMPARE V ...

  5. mysql安装等操作

    CentOS 6.5系统中安装配置MySQL数据库 卸载掉原有mysql rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库 rpm -e my ...

  6. 通过jdbc连接MySql数据库的增删改查操作

    一.获取数据库连接 要对MySql数据库内的数据进行增删改查等操作,首先要获取数据库连接 JDBC:Java中连接数据库方式 具体操作如下: 获取数据库连接的步骤: 1.先定义好四个参数 String ...

  7. 利用docker部署redis集群

    目录 一.首先配置redis.conf文件,... 1 1.获取配置文件... 1 2.修改各配置文件的参数... 2 二.下载redis镜像.启动容器... 2 1.创建网络... 2 2.拉取镜像 ...

  8. 简单的vue.js的表单提交数据至flask然后数据库入库,再将表里面的数据展示在网页

    一.先在数据库中创建表格 在mysql中建users库并建立一个含有ID,username,email三个字段的user表 二.去vue的组件里面写页面的表单代码,注意form标签里的action需要 ...

  9. CF447B DZY Loves Strings 贪心

    DZY loves collecting special strings which only contain lowercase letters. For each lowercase letter ...

  10. Mac/Homebrew brew update慢的方法

    Homebrew是Mac的软件包管理器,我们可以通过它安装大多数开源软件.但是在使用brew update更新的时候竟然要等待很久.猜测可能是因为brew的官方源被墙或或者响应慢.于是想到的切换Hom ...