Mongodb For Mac OSX && 登录验证
题外话:尽管有不少人贴出了 《我不用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 && 登录验证的更多相关文章
- MongoDB 在 Mac OSX 平台安装
1.检查电脑是否安装 Homebrew(brew) 工具.如果没有安装,在终端执行下面命令. ruby -e "$(curl -fsSL https://raw.githubusercont ...
- Install MongoDB driver for PHP on XAMPP for Mac OSX
试了不少方法,最后还是这个最有效. [转自:http://thatsimplecode.com/install-mongodb-driver-for-php-on-xampp-for-mac-osx] ...
- Mac OSX 下用 Homebrew 安装 MongoDB 并配置到 WebStorm 中
1. 安装 Ruby OSX 操作系统内置 Ruby,但如果没有 Ruby,则需先输入以下命令安装能够进行多版本ruby环境安装.管理和切换的命令行工具 RVM. 1.1 安装 RVM 打开终端输入以 ...
- MongoDB登录验证及用户管理
一.超级管理员创建及开启登录验证 如果MongoDB要开启登录验证,必须在开启登录验证之前先创建好超级管理员,否则无法登录数据库! 例如,创建一个超级管理员admin,关联给admin数据库,角色设置 ...
- Mac OSX 平台安装 MongoDB
Mac OSX 平台安装 MongoDB MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包. 下载地址:https://www.mongodb.com/download ...
- 使用node+express+mongodb实现用户注册、登录和验证功能
无论是手机端还是pc端,几乎都包含登录注册方面功能,今天就使用node+express+mongodb实现一套登录注册功能,这里需要自己去安装MongoDB环境,如果没有安装可以看这篇关于MongoD ...
- MAC OSX下终端通过NTLM验证,通过代理上网(花了一天时间才解决这个)
MAC OSX下终端通过NTLM验证,通过代理上网 公司网络限制如下: 公司通过代理来控制内网用户访问外网的权限.用户名和密码为域用户,采用的验证方式是NTLM(用的是foreFront TMG) 遇 ...
- XE6移动开发环境搭建之IOS篇(8):在Mac OSX 10.8中安装XE6的PAServer(有图有真相)
网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 安装PAServer ...
- XE6移动开发环境搭建之IOS篇(7):在Mac OSX 10.8中安装Xcode4.6.3(有图有真相)
网上能找到的关于Delphi XE系列的移动开发环境的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 在安装Xcode前, ...
随机推荐
- R3.4.0安装包时报错“需要TRUE/FALSE值的地方不可以用缺少值”,需升级到R3.5.0
错误: 解决方案: 升级R3.5.0后,解决:
- mapent
package test12; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import ja ...
- 【css】css实现点击Toggle功能/icon切换
①实现Toggle功能 html结构: <div class="cssTog"><label> <p> 专业:B020309现代企业管理(独立本 ...
- java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字
### Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-01722: 无效数字 ### The error ...
- 解决IOS9 下在App中无法打开其他应用的问题
打开 info.plist 文件 ,在根节点下添加下面代码即可,这是由于IOS9新的权限管理机制的问题 <key>LSApplicationQueriesSchemes</key&g ...
- 七、Delphi10.3读取JSON数组
一.Delphi读取JSON数组是非常方便的,首先我们网上找一段JSON数据 { "error": 0, "status": "success&quo ...
- Linux下onvif客户端获取h265 IPC摄像头的RTSP地址
1. 设备搜索,去获取webserver 的地址 ,目的是在获取能力提供服务地址,demo:https://www.cnblogs.com/croxd/p/10683429.html 2. GetCa ...
- linux 虚拟机 磁盘空间压缩
/usr/bin/vmware-toolbox-cmd disk list /usr/bin/vmware-toolbox-cmd disk shrink / init 0
- JavaWeb基础—会话管理之Session
一.什么是session session类似于客户端在服务器端的账户.使用Map存放 一个会话锁定一个用户(一般情况下是一个客户端,即一个浏览器独占一个session对象),即使使用浏览器访问其他程序 ...
- python二进制处理详述(转)
python没有二进制类型,但可以存储二进制类型的数据,就是用string字符串类型来存储二进制数据,这也没关系,因为string是以1个字节为单位的. import struct a=12.34 # ...