首先是启动mongodb

  a.打开cmd,cd进入mongodb的安装目录下的bin目录下面,执行 mongod --dbpath D:\MongoDBdata(数据存放的目录)

   或者将mongodb添加到环境变量,然后执行这一句命令也是可以的(为了方便本人建立了一个.bat的批处理文件,将启动mongodb的命令写入该文件,每次想启动直接双击该文件就可以了)

  b.启动后直接执行命令mongo就可以进入mongodb了,或者也可以建立一个.bat的批处理文件,写入mongo 127.0.0.1:27017/admin这里的admin是以什么身份登录的,27017是mongodb默认监听的端口,28017是扩展端口用于web服务的

  c.使用php链接mongo: $mongo = new Mongo("mongodb://username:password@server:port");

  d.远程连接服务器端mongo:mongo -u username -p pwd 192.168.41.215:27017/database(用户名对应的数据库)

一.mongodb开启安全验证检测

  mongodb默认是没有用户名和密码的,我们安装好mongodb的客户端,在本地连接本地客户端的mongodb时,直接就"mongo"就可以了,默认是127.0.0.1,默认监听27017端口,不需要什么安全验证,那如何来开启安全验证呢?

  如果要开启安全验证,就必须要用--auth来开启安全性的检查,创建的用户名都是存放在system.admin.Users下面的

  1.设置mongodb的用户名和密码(管理员):

    创建管理员:

    use admin

    db.createUser({user:"root",pwd:"123456",roles:["root"]}) //添加管理员

    然后重新启动mongodb,但是必须加上--auth选项,将.bat文件的内容修改为:mongod  --auth --dbpath D:\MongoDBdata,然后双击启动,此时你再使用"mongo"命令连接时,什么操作都做不了,就如下图:

    

    上图提示你,未授权的管理员执行命令,显然安全验证检查开启成功了,此时你应该这样连接:mongo admin -u root -p 123456

    

    上图通过刚才设置的管理员账号我们连接成功了,至此安全验证检测就开启了

    或者你也可以这样去验证(前提是必须进入该用户对应的database才行,出现1代表成功):

    

    此时当你再用mongodb的可视化工具连接时(本人使用的是robomongo,也可以使用mongoVUE,但是基本没有破解版的,等下我会教大家使用VUE的时候怎么可以免费使用):

    

    通过上图你会发现,开启了安全验证检测后,就会出现一把钥匙,后面是admin(创建管理员的database)/root(管理员账户)

  2.针对某个数据库(database)建立用户(权限:read,readWrite,write)

    a.创建用户(如果不选中对应的数据库use foobar,那么你创建的用户认证会不成功,也无法登陆mongo):

      

    b.认证db.auth("user","pwd")--也必须选中对应的数据库use foobar,因为我上面选中了,所以直接就认证,出现1表示认证成功

      

    c.接下来重启mongo,使用刚才创建的用户登陆,验证权限

      

二.可视化工具连接mongodb(MongoVUE)

  mongodb在3.2之前默认使用的是mmapv1存储引擎,3.2之后默认开启的是wiredTiger存储引擎,如何辨别自己的mongodb开启的哪个引擎呢?如下图(查看mongodb启动的数据存放目录)

  wiredTiger引擎:

  

  mmapv1存储引擎(下图是我在网上找的):

  

  当我们的mongodb开启的是wiredTiger存储引擎时,使用VUE连接mongodb它的数据是不显示的,也就是说你连接成功后,查看库里的collections,显示为空,为什么呢?

  因为两个存储引擎生成的文件格式不兼容,mmapv1存储引擎生成的数据文件wiredTiger存储引擎读取不出来,怎么解决呢?说实话本人暂时没找到解决的办法,惭愧的很!!!!!!

  至于网上的解决办法就是在mongodb启动的时候,直接指定mongodb的存储引擎,命令如下:

  mongod --storageEngine wiredTiger  --dbpath 数据目录

  mongod --storageEngine mmapv1 --dbpath 数据目录

  但是本人和同事实验了很多次都不行,集合(collection)还是显示不出来,所以暂时我们使用的可视化工具都是robomongo

  下面我教大家使用VUE的时候如何可以免注册,可以一直使用,其实很简单,但是有点麻烦,这个方法是我在网上看一位老师的教程,他教的,我在这里借鉴一下:

  大家在官网下载好了MongoVUE之后,一般使用了14天之后就会提示要你注册了,不然用不了,此时你可以进入电脑的注册表中,打开cmd,输入regedit进入注册表

  然后直接ctrl+f搜索"4FF78130",找到里面的文件,14天一删,14天一删就是这样了

mongodb的连接和开启安全验证的更多相关文章

  1. mongodb3.0分片及java代码连接操作测试(开启用户验证)

    最近抽时间搭建了一下mongodb简单的分片,整个过程还算是蛮顺利,只不过在用户验证这一块遇到了一些问题,好在最后终于搞定. 一.服务器搭建过程: 1.安装四个mongodb:一个作为config.一 ...

  2. windows版本 MongoDB副本集搭建及开启身份验证

    ------------恢复内容开始------------ ------------恢复内容开始------------ MongoDB副本集搭建 我搭建的是一个主节点,两个副节点 构建目录结构如下 ...

  3. Java操作MongoDB:连接&增&删&改&查

    1.连接 ①方式一 MongoClientOptions.Builder builder = MongoClientOptions.builder(); //可以通过builder做各种详细配置 Mo ...

  4. [转载]MongoDB 标准连接字符串

    MongoDB 标准连接字符串 mongodb://[username:password@]host1[:port1][,host2[:port2],…[,hostN[:portN]]][/[data ...

  5. Java程序中与MongoDB建立连接~小记

    1.Mongo和MongoClient的关系 MongoClient继承自Mongo,使用Mongo也可建立连接,但是需要使用与Mongo适应的MongoOptions,MongoURI等类型. 2. ...

  6. MongoDB -的连接和使用

    MongoDB 的 连接使用 在节我们将讨论 MongoDB 的不同连接方式. 启动 MongoDB 服务 在前面的,我们已经讨论了如何启动 MongoDB 服务,你只需要在 MongoDB 安装目录 ...

  7. MongoDB的连接字符串

    本文导读:MongoDB数据库与传统的关系型数据库相比,它具有操作简单.完全免费.源码公开等特点,这使MongoDB产品广泛应用于各种大型门户网站和专业网站.由于MongoDB连接并不支持HTTP协议 ...

  8. Elasticsearch 7.x配置用户名密码访问 开启x-pack验证

    一.修改elasticsearch 配置文件 1.在配置文件中开启x-pack验证 #进入es安装目录下的config目录 vim elasticsearch.yml # 配置X-Pack http. ...

  9. mongodb远程连接配置

    mongodb远程连接配置如下: 1.修改配置文件mongodb.conf 命令:vim /etc/mongodb.conf 把 bind_ip=127.0.0.1 这一行注释掉或者是修改成 bind ...

随机推荐

  1. 获取android设备的IP

    public class IPAddressUtils { public static String getLocalIpAddress() { try { String allIP = " ...

  2. PHP Console工具使用分享

    PHP Console工具使用分享 http://www.open-open.com/lib/view/open1416193590414.html 您的评价:       不错  收藏该经验     ...

  3. 20145235 《Java程序设计》第4周学习总结

    代码托管截图 教材学习内容总结 继承 •继承:继承基本上就是避免多个类间重复定义共同行为. 我理解的就是:在编写程序的过程中可能会出现部分代码重复的现象,把重复的部分单独定义为一类(父类),在其他代码 ...

  4. Nginx 上的 php-fpm 资源侵占问题

    测试人员向我们反映:在Facebook平台的游戏比其它平台的游戏明显更慢.我询问,是不是因为FQ网络原因.他们说:不是,其它游戏也比较流畅.使用httpwatch查看了http请求,发现api.php ...

  5. 【转】Cocos2d - 观察者模式NotificationCenter

    http://shahdza.blog.51cto.com/2410787/1611575 [唠叨] 观察者模式 也叫订阅/发布(Subscribe/Publish)模式,是 MVC( 模型-视图-控 ...

  6. spark之combineByKey

    combineByKey def combineByKey[C](createCombiner: (V) => C, mergeValue: (C, V) => C, mergeCombi ...

  7. MvcPager分页控件的使用

    1.引入MvcPager.dll(MvcPager分页控件:http://www.webdiyer.com/mvcpager/) 2.后台C# Controller: //Ddemo使用Webdiye ...

  8. Python之集合(set)

    一种语言它越便捷,开发效率越高,初学阶段就会越困难.因为语言的设计者帮你造了大量的轮子,你就要掌握如何使用这些轮子.所以,对初学Python来说,记忆的东西很多. 进入正题. 集合就像是抛弃了值(va ...

  9. 常用 linux 命令(部分)

    常用命令总结: 1. mkdir命令 mkdir dirname , 用来创建目录.该命令创建由dirname命名的目录.如果在目录名的前面没有加任何路径名,则在当前目录下创建由dirname指定的目 ...

  10. golang AES/ECB/PKCS5 加密解密 url-safe-base64

    因为项目的需要用到golang的一种特殊的加密解密算法AES/ECB/PKCS5,但是算法并没有包含在标准库中,经过多次失败的尝试,终于解码成功,特此分享: /* 描述 : golang AES/EC ...