设为首页 加入收藏

TOP

Mongodb For Mac OSX && 登录验证(一)
2019-09-03 03:18:14 】 浏览:34
Tags: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为例,

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇一、Postgresql的基本操作 下一篇PowerDesigner 把Comment复制到na..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目