怎么在Mac中安装mongodb数据库并创建用户?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
安装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
关于怎么在Mac中安装mongodb数据库并创建用户问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。