Mac下安装配置mongodb并创建用户的方法

 更新时间:2018年05月07日 11:55:42   作者:ZARR  
最近在在学习nodejs,相比mysql,mongodb与nodejs搭配更合适,存储数据格式也比较接近JS对象。下面这篇文章主要给大家介绍了关于在Mac下安装配置mongodb并创建用户的相关资料,需要的朋友可以参考下

前言

mongodb数据库相信不用多介绍,大家都不陌生,好久之前曾经安装过mongodb,在一个偶然的情况下被一个大佬直接登陆进来了,刚开始惊呼还有这种操作,后来才发现自己并没有给数据库上锁,并且在安装完mongodb默认启动的时候默认是任何ip都可以不需要密码直接访问的。

好了,废话不多说,开始今天的正文

安装mongodb

安装mongodb有三种方式:

1、直接下载安装

MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包。

下载地址:[https://www.mongodb.com/download-center#community][1]

2、通过mac自带的curl安装

# 进入 /usr/local
cd /usr/local
# 下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz
# 解压
sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz
# 重命名为 mongodb 目录
sudo mv mongodb-osx-x86_64-3.4.2 mongodb

3、通过brew安装

sudo brew install mongodb

新建日志文件,mongodb配置文件和数据库存放路径

(如果以下的文件夹创建不成功或者提示没有权限的话在命令前面加上sudo)

#进入mac根目录
cd /mongoData

#新建文件夹mongoData
mkdir mongoData

#新建三个文件夹分别是db(存放数据库数据),etc(mongodb配置文件),logs(日志文件)
mkdir db etc logs

在etc和log下分别创建配置文件和日志文件
cd etc
touch mongo.conf
cd logs 
touch mongo.log

接下来修改mongodb的配置文件

#vim编辑配置文件
vim mongo.conf

mongdb的配置文件字段有好多,我展示一下我的配置文件

#数据库路径
dbpath=/mongoData/db/

#日志输出文件路径
logpath=/mongoData/logs/mongo.log

#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logappend=true

#启用日志文件,默认启用
journal=true

#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=false

#是否后台启动,有这个参数,就可以实现后台运行
fork=true

#端口号 默认为27017
port=27017

#指定存储引擎(默认不需要指定)
#storageEngine=mmapv1

#开启认证
auth = true

将上面的配置字段复制进去并且保存

启动mongodb

#进入mongdb安装目录
cd /usr/local/mongodb/bin

#通过配置文件的方式启动mongdb
./mongod -f /mongoData/etc/mongo.conf

如果出现successful就表示服务已经启动成功

配置超级用户和用户

#进入mongodb
./mongo

#使用admin数据库
use admin

#查看有所有数据库
show dbs

不出意外的话会提示没有权限,因为我们是以配置文件启动的mongodb,并且配置文件中我们开启了认证将auth字段设置成了true

这个时候我们就应该开始配置用户

创建超级管理员用户

use admin
db.createUser({user:"admin",pwd:"password",roles:["root"]}) //admin这个数据库是系统自带的数据库,他的用户可以访问任何其他数据库的数据,也叫做超级管理员
db.auth("admin","password") // => 1 表示验证通过 0表示验证失败
show dbs //=>admin 0.000GB blog 0.000GB config 0.000GB 

这样就展示出所有的数据库了

创建普通用户(某个数据库的用户)

use admin //=>进入admin数据库
db.auth("admin","password") //=> 通过超级管理员验证
use blog
db.createUser({user: "blog", pwd: "password", roles: [{ role: "dbOwner", db: "blog" }]})
show dbs => admin 0.000GB blog 0.000GB config 0.000GB local 0.000GB

这样就创建了单独关于blog这个数据库的账户了,账号是blog,密码是password

这里我们要注意一点,给创建普通数据库用户的时候要是在超级管理员验证完之后创建

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • mongodb与sql关系型数据比较

    mongodb与sql关系型数据比较

    今天小编就为大家分享一篇关于mongodb与sql关系型数据比较,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • Java操作mongodb的模糊查询和精确查询

    Java操作mongodb的模糊查询和精确查询

    这篇文章主要介绍了Java操作mongodb的模糊查询和精确查询,使用regex关键字实现模糊查询操作,具体实现代码大家参考下本文
    2017-11-11
  • 一文带你深入掌握MongoDB查询分析的关键技巧

    一文带你深入掌握MongoDB查询分析的关键技巧

    MongoDB 是一款灵活且可扩展的NoSQL数据库,为了提高其性能,我们可以采取一些优化技巧,这篇文章主要给大家介绍了关于MongoDB查询分析关键技巧的相关资料,需要的朋友可以参考下
    2024-06-06
  • MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法

    MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法

    这篇文章主要给大家介绍了关于MongoDB添加仲裁节点报错:replica set IDs do not match的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-11-11
  • 浅谈MongoDB 关系

    浅谈MongoDB 关系

    这篇文章主要介绍了MongoDB 关系的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • Mongodb常见操作符和运算符总结

    Mongodb常见操作符和运算符总结

    MongoDB 提供了丰富的操作符(Operators)和运算符(Expressions)用于在查询和更新文档时指定条件和操作数据,本文将通过代码示例给大家详细的总结一下Mongodb常见操作符和运算符,需要的朋友可以参考下
    2024-01-01
  • MongoDB系列教程(七):MongoDb数据结构详解

    MongoDB系列教程(七):MongoDb数据结构详解

    这篇文章主要介绍了MongoDB系列教程(七):MongoDb数据结构详解,本文讲解了Collections、Document、GridFS等3种数据结构,需要的朋友可以参考下
    2015-05-05
  • MongoDB学习笔记之MapReduce使用示例

    MongoDB学习笔记之MapReduce使用示例

    这篇文章主要介绍了MongoDB学习笔记之MapReduce使用示例,本文直接给出实例代码,需要的朋友可以参考下
    2015-07-07
  • MongoDB中唯一索引(Unique)的那些事

    MongoDB中唯一索引(Unique)的那些事

    这篇文章主要给大家介绍了关于MongoDB中唯一索引(Unique)的那些事,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • mongodb权限设置之添加管理员、普通用户的方法

    mongodb权限设置之添加管理员、普通用户的方法

    这篇文章主要介绍了mongodb添加管理员、普通用户的方法,同时介绍了mongodb开启权限认证后PHP客户端的两种连接方法,需要的朋友可以参考下
    2014-06-06

最新评论