zoukankan      html  css  js  c++  java
  • mongodb的连接和开启安全验证

    mongodb的连接和开启安全验证

    2016-06-10 17:21 by ^小七, 18963 阅读, 0 评论, 收藏编辑

    首先是启动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的连接和开启安全验证

    2016-06-10 17:21 by ^小七, 18963 阅读, 0 评论, 收藏编辑

    首先是启动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天一删就是这样了

    from:https://www.cnblogs.com/zengguowang/p/5573947.html

  • 相关阅读:
    redis 解析配置文件
    redis 五大数据类型之sortedset
    redis 五大数据类型之hash篇
    redis 五大数据类型之set篇
    redis 五大数据类型之list篇
    redis_key键
    redis 五大数据类型之string篇
    redis使用
    redis下载安装
    Neutron Kilo-Liberty-Mitaka各版本区别
  • 原文地址:https://www.cnblogs.com/shynshyn/p/7996667.html
Copyright © 2011-2022 走看看