题外话:尽管有不少人贴出了 《我不用mongodb的十大理由》 等系列文章,但是 NoSQL 的发展不会因此而止步, mongodb 是 NoSQL 的典型代表,楼主还是抱乐观态度的,有人讨厌是好事,尽管mongodb依然在不断的更新中……

1.环境:

MacBook Pro : OS X 10.9.5 (13F34)

Mongodb : 2.6.0

2.安装和启动:

A: 包管理工具 自动化安装 [小心被墙,下载中建议去煮几杯咖啡]

$ brew install mongodb
//记得可以先更新 homebrew
//$ brew update

安装完成后,启动MongoDb

mongod —config /usr/local/etc/mongod.conf

B: 文件方式 解压安装 [百度网盘分分钟搞定]

点击下载: Mongodb OSX 2.6.0 zip 压缩包

解压到随意位置, 比如 /usr/local/var/www/mongodb-osx-x86_64-3.0.0/ 进入 mongodb-osx…… 目录创建两个文件夹 data/db (数据)和 data/log (日志)

然后轻松启动,比如:

$ cd /usr/local/var/www/mongodb-osx-x86_64-3.0.0/bin/
$ mongod --dbpath "/usr/local/var/www/mongodb-osx-x86_64-3.0.0/data/db"
……
……
2015-05-18T13:49:15.660+0800 [initandlisten] journal dir=/usr/local/var/www/mongodb-osx-x86_64-3.0.0/data/db/journal
2015-05-18T13:49:15.660+0800 [initandlisten] recover : no journal files present, no recovery needed
2015-05-18T13:49:15.843+0800 [initandlisten] waiting for connections on port 27017

启动成功,端口号是 27017 成功, 大多数人到这里应该就没有下文了~ ,(比如,端口怎么改? 接着看……)

3.启动参数

例子:

mongod --dbpath="安装路径/data/mongodb" --logpath="安装路径/data/mongodb/logs/mongodb.log" --logappend --auth --port=27017 --fork

没事,你先试一下,我等你 _

解释:

mongod  	: 启动程序命令
--dbpath : 的数据库存放路径
--logpath : 的日志文件路径
--logappend : 以追加方式,写日志文件
--auth : 是否进行用户认证,加上后,MongoDB会使用用户认证方式登录。
--port : 端口号,可以自定义,默认 27017
--fork : 服务是否以后台运行的方式运行
--bind_ip : 限制特定IP地址访问

4.设置登录权限

进入到 bin 目录执行 mongo 就可以,比如楼主的:

$ cd /usr/local/var/www/mongodb-osx-x86_64-3.0.0/bin/&&mongo

接下来可以熟悉下操作一些常用指令,比如增删改查“CURD”,这里就不一一列举了,传送门: mongodb for windows

这里说一下如何 添加登录权限

添加登录权限

先贴一段 code:

> show dbs
admin (empty)
hi-blog 0.078GB
local 0.078GB
session 0.078GB
> use hi-blog
switched to db hi-blog
> show collections
apikeys
classifys
system.indexes
users
> db.addUser('root','root123')
WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
Successfully added user: { "user" : "root", "roles" : [ "dbOwner" ] }
> show collections
2015-05-18T14:24:36.802+0800 error: {
"$err" : "not authorized for query on hi-blog.system.namespaces",
"code" : 13
} at src/mongo/shell/query.js:131
> db.auth('root','root123')
1
> show collections
apikeys
classifys
system.indexes
users
> show users
{
"_id" : "hi-blog.root",
"user" : "root",
"db" : "hi-blog",
"roles" : [
{
"role" : "dbOwner",
"db" : "hi-blog"
}
]
}
> _

以上先展示了数据库的“表”(databases)然后切换到了某个“集”(collections)然后再看下这个集合下的数据“行”(document),在没有添加(addUser)管理员前 collections 随便看,一旦添加了 管理员 则需要认证后(auth)才能查看

[注意:大前提是在启动mongodb服务时添加了 --auth 用户认证参数]

验证测试

我们重启一下 mongo 服务,例如楼主的:

$ mongod --dbpath "/usr/local/var/www/mongodb-osx-x86_64-3.0.0/data/db" --port=27017 --auth
//添加auth命令就开启了登录权限

另外打开一个 bash 窗口:

$ mongo -uroot -proot123 127.0.0.1:27017/hi-blog
//u 后带用户名 p 后带密码

链接成功~

注:对admin设置管理账号则登录后可以操作整个数据库,对 A 数据设置管理账号则登录后只能操作A数据库,例如 以上链接了 hi-blog 数据库,若想 show dbs 则报错。 show collections 当然正常。

5.mongoose 登录验证

类似的 轻量级的nodejs mongodb驱动有很多,比如:

mongoose, node-mongodb-native, mongoskin, node-mongolian, mongous, mongojs

他们的关系据说是这样:

这里以mongoose为例,举例登录验证

mongodb://你的账号:密码@host ip:端口号/设置登录权限的数据库
mongodb://admin:123456@192.168.1.100:27018/yourdb

这还是很轻松的,什么?上下文也要?如下:

//mongodb操作.js
var mongoose = require('mongoose'),
config = require('./../db/config');
db = mongoose.createConnection(); //设置用户名密码端口数据库
db.openSet(config.dbLogin);
// 链接错误
db.on('error', function(error) {
    console.log(error);
});
…… //config.js
//需要登录的mongodb
var dbLogin = 'mongodb://admin:123456@192.168.1.100:27018/yourdb';
……
exports.dbLogin = dbLogin;
……

Mongodb For Mac OSX && 登录验证的更多相关文章

  1. MongoDB 在 Mac OSX 平台安装

    1.检查电脑是否安装 Homebrew(brew) 工具.如果没有安装,在终端执行下面命令. ruby -e "$(curl -fsSL https://raw.githubusercont ...

  2. Install MongoDB driver for PHP on XAMPP for Mac OSX

    试了不少方法,最后还是这个最有效. [转自:http://thatsimplecode.com/install-mongodb-driver-for-php-on-xampp-for-mac-osx] ...

  3. Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中

    1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...

  4. MongoDB登录验证及用户管理

    一.超级管理员创建及开启登录验证 如果MongoDB要开启登录验证,必须在开启登录验证之前先创建好超级管理员,否则无法登录数据库! 例如,创建一个超级管理员admin,关联给admin数据库,角色设置 ...

  5. Mac OSX 平台安装 MongoDB

    Mac OSX 平台安装 MongoDB MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download ...

  6. 使用node+express+mongodb实现用户注册、登录和验证功能

    无论是手机端还是pc端,几乎都包含登录注册方面功能,今天就使用node+express+mongodb实现一套登录注册功能,这里需要自己去安装MongoDB环境,如果没有安装可以看这篇关于MongoD ...

  7. MAC OSX下终端通过NTLM验证,通过代理上网(花了一天时间才解决这个)

    MAC OSX下终端通过NTLM验证,通过代理上网 公司网络限制如下: 公司通过代理来控制内网用户访问外网的权限.用户名和密码为域用户,采用的验证方式是NTLM(用的是foreFront TMG) 遇 ...

  8. XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 安装PAServer ...

  9. XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相)

    网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 在安装Xcode前, ...

随机推荐

  1. SVN提交的动作解释

    今天更新svn,发现有很多动作,其中字母代表的意思半知半解,就随手记录下来: A:add,新增 C:conflict,冲突 D:delete,删除 M:modify,本地已经修改 G:modify a ...

  2. Metapackage包

    Metapackage(功能包集)是把一些相近的功能模块. 软件包放到一起. ROS里常见的Metapacakge有: 2.Metapackage写法 CMakeLists.txt 写法如下: cma ...

  3. MySQL(二)索引背后的数据结构及算法原理

    本文转载自CodingLabs,原文链接 MySQL索引背后的数据结构及算法原理 目录 摘要 一.数据结构及算法基础 1. 索引的本质 2. B-Tree和B+Tree 3. 为什么使用B-Tree( ...

  4. 利用SimpleDateFormat进行时间的跨时区转换 - Java

    * 次方法主要用来将特定时区的时间转换成指定时区的时间,比如将北京时间“2018-04-08 15:40:49.031”,转换对应的美国东部时间是“2018-04-08 03:40:49.031”   ...

  5. js随笔记录

     1.当我们尝试优化一段程序的时候,必须要同时了解语言本身和运行环境就比如说,可能教科书上写移位操作比乘法运算要快,但是这是因为CPU指令的问题,所以对于C语言成立,对于跑在VM上的语言来说则不一定了 ...

  6. Target Audiences在弹出的people picker中不显示Alias列有空的项目

    [客户需求] 当编辑webpart时,Target Audiences在弹出的people picker搜索时候,Alias列有空的项目,客户要求不显示Alias列有空的项目. [分析] 首先这个“D ...

  7. C 和 Object-C中的 #ifdef #ifndef

    很多宏是为了进行条件编译.一般情况下,源程序中所有的行都参加编译.但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”.有时,希望当满足某条件时 ...

  8. jQuery----(类似抽奖转盘)高亮显示

    效果如图: 原图 鼠标进入后开始变化图                                                                              实现需 ...

  9. delphi黑色背景模式

    uses Vcl.Styles, vcl.Themes; procedure TForm1.FormCreate(Sender: TObject); begin TStyleManager.LoadF ...

  10. 基于Keras的imdb数据集电影评论情感二分类

    IMDB数据集下载速度慢,可以在我的repo库中找到下载,下载后放到~/.keras/datasets/目录下,即可正常运行.)中找到下载,下载后放到~/.keras/datasets/目录下,即可正 ...