下载并安装 MongoDB
MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包。
1 下载地址:https://www.mongodb.com/download-center#community
1 2 3 4 5 6 7 8 9 10 11 12 # 进入 /usr/local cd /usr/local # 下载 sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.3.tgz # 解压 sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.3.tgz # 重命名为 mongodb 目录 sudo mv mongodb-osx-ssl-x86_64-4.0.3 mongodb
1 sudo brew install mongodb
安装中需要稍等一会儿,完成后输入下列命令
1 2 mongod --version mongo --version
出现下列提示,则表示可以使用 mongod 和 mongo 命令
1 2 3 4 5 6 7 db version v4.0.3 git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c allocator: system modules: none build environment: distarch: x86_64 target_arch: x86_64
1 2 3 4 5 6 7 MongoDB bush version v4.0.3 git version: 7ea530946fa7880364d88c8d8b6026bbc9ffa48c allocator: system modules: none build environment: distarch: x86_64 target_arch: x86_64
否则,要配置环境变量
将下列代码复制粘贴进去,保存后即可。
1 2 export MONGO_PATH=/usr/local/Cellar/mongodbexport PATH=$PATH :$MONGO_PATH /bin
配置 MongoDB 新建数据库存放路径、配置文件和日志文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 进入 mac 根目录 cd / # 新建文件夹 mongoData mkdir mongoData # 新建三个文件夹分别是 db(存放数据库数据),etc(mongodb配置文件),logs(日志文件) mkdir db etc logs 在etc和log下分别创建配置文件和日志文件 cd etc touch mongo.conf cd logs touch mongo.log
接下来修改 mongodb 的配置文件
1 2 # vim编辑配置文件 vim mongo.conf
mongdb的配置,参考链接 Run-time Database Configuration
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 logpath=/mongoData/logs/mongo.log logappend=true journal=true quiet=false fork=true port=27017 auth = true
将上面的配置字段复制进去并且保存
启动mongodb 1 2 # 通过配置文件的方式启动mongdb mongod -f /mongoData/etc/mongo.conf
如果出现 successfully, 则表示成功
1 2 3 4 2018-11-24T17:17:03.968+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none' about to fork child process, waiting until server is ready for connections. forked process: 2299 child process started successfully, parent exiting
配置超级用户和用户 1 2 3 4 5 6 7 8 # 进入mongodb mongo # 使用admin数据库 use admin # 查看有所有数据库 show dbs
不出意外的话会提示没有权限,因为我们是以配置文件启动的mongodb,并且配置文件中我们开启了认证将auth字段设置成了true
这个时候我们就应该开始配置用户
1 2 3 4 5 6 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
这样就展示出所有的数据库了
1 2 3 4 5 6 7 8 9 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 这里我们要注意一点,给创建普通数据库用户的时候要是在超级管理员验证完之后创建
原文链接: https://segmentfault.com/a/1190000014740252