mongoDB 安装教程(Mac)

1. 官网下载地址 :https://www.mongodb.com/

下载社区版,解压,解压后重命名为 mongodb (哈哈哈,大家都这么重命名的)

2. 安装位置

安装没有固定位置,但是一般都放在 /usr/local 下面, 注: mac 的/usr/local 对用户时隐藏的,可以在访达中使用 command+shift+G 搜索进入
在这里插入图片描述

在这里插入图片描述

3.配置环境变量

//在终端上打开环境变量 
1. open .bash_profile   //这里很多 mac 一开始是没有这个文件的,没有的话就在终端上创建一个 touch .bash_profile

//第二部:添加环境配置,这样以后就不用每次都 cd 到 mongodb 的 bin 目录开启服务了(注意: 这里 /usr/local/mongodb/bin 为你安装 mongodb 的目录)
2. export PATH=${PATH}:/usr/local/mongodb/bin

//让配置生效
3. source .bash_profile

//运行命令,查看 mongodb 版本
4. mongod -version
/**
显示如下就算成功了
linwinwin@LinwinwindeMacBook-Pro etc % mongod -version
db version v5.0.9
Build Info: {
    "version": "5.0.9",
    "gitVersion": "6f7dae919422dcd7f4892c10ff20cdc721ad00e6",
    "modules": [],
    "allocator": "system",
    "environment": {
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}
linwinwin@LinwinwindeMacBook-Pro etc % 
*/
此时新开一个终端输入 mongon -version 应该也是可以运行命令的,但是我遇到了一个一个问题就是会报 zsh: command not found xxx 的错误
解决方案:是将 .bash_profile 里面的配置放入到 .zshrc 文件中就可以了,步骤和上面一样
1.打开终端输入 open .zshrc (没有就 touch .zshrc 创建一个)
2..bash_profile 的配置放进来(就是 export PATH 之类的)
3. source .zshrc 就ok了

4. 基本配置

如果和我一样是从官网上直接下载的,会发现在文件路径下是没有关于日志及数据存放的位置的,所以要新建两个文件夹(log:日志存储、data:数据存放)。这两个文件夹存放的位置任意的,但是为了方便查找,我们还是放在/usr/local/mongodb下。

//1.进入 mongodb 目录
cd /usr/local/mongodb
//2. 创建 data 和 log 文件夹(名字可以是其他的,不强制)
mkdir data log
//3. 由于读写权限的问题, 需要给这两个文件夹赋予读写权限, 这里 linwinwin 是我的用户名,要替换成你自己的
sudo chown linwinwin /usr/local/mongodb/data
sudo chown linwinwin /usr/local/mongodb/log

5.启动

//1.⚠️当前的位置是/usr/local/mongodb, 所以这里的 --dbpath 是 data; --fork表示在后台运行  --logappend 表示追加
mongod --fork -dbpath data --logpath log/mongo.log --logappend
// 出现如下,则表示启动成功
about to fork child process, waiting until server is ready for connections.
forked process: 4649
child process started successfully, parent exiting
// 新开一个终端窗口 输入命令 mongo
mongo
// 展示一个箭头则表示启动成功
// 打开浏览器输入: http://127.0.0.1:27017/
It looks like you are trying to access MongoDB over HTTP on the native driver port.
// 出现上面情况就算成功了启动成功

6.关闭mongodb 服务

//1.切换到管理员
use admin
// 2.运行命令(参数可写可不写)
db.shutdownServer({force:true});
// 展示如下:关闭成功
server should be down...
// 通过浏览器访问 http://127.0.0.1:27017/  拒绝连接

这里关闭服务如果是非正常关闭的话(如直接删除终端等),下一次再开启mongodb时会报错的,会报一个 ERROR: child process failed, exited with error number 100 这类的错误,这个遇到的话自行百度解决,我今天一开始就遇到了:>(弄了我好久)

7.通过配置文件启动

上面那种启动 mongodb 服务端方式太麻烦了,因此可以 配置一个启动文件,我们在 mongodb 文件夹中新建 etc 文件夹, 在 etc 文件中新建 mongodb.conf 文件

//在mongodb 文件夹下
1.mkdir etc
//在 etc 文件中新建 mongodb.conf 
2. touch mongodb.conf
// 配置 mongodb.conf 
3. vim mongodb.conf
// 在 mongodb.conf 中配置如下信息
/**
数据库路径
dbpath=/usr/local/mongodb/data

#日志输出文件路径
logpath=/usr/local/mongodb/log/mongo.log

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

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

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

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

#端口号 默认为27017
port=27017

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

#开启认证
auth = true   !!!这个最好别设置,别开启,不然后面一堆的麻烦事,我今天被这个弄了好久,建议别开
*/

配置好上面的上面的文件就可以用配置文件启动服务啦

//启动命令
1.mongod -f /usr/local/mongodb/etc/mongo.conf 
//启动成功,可在浏览器中验证
2.关闭服务时,按照上面的方式去关闭

//!!!但是,如果在上面配置了 鉴权 auth:true 就会 有问题。我们想关闭的时候会报错,告知我们没有权限
//解决很简单,没有权限就赋予一个权限
//如果是新安装的mongodb,默认是没有用户的,所以我们来创建用户

// 创建用户
db.createUser({user: 'root', pwd: '123456', roles:[{role:'root',db:'admin'}]})
// 登陆用户
db.auth('root','123456')
// 显示 1 说明登陆成功
// 赋予权限
db.grantRolesToUser('root', [{role: 'hostManager',db:'admin'}])
// 关闭服务
db.shutdownServer({force:true});
//但是 设置了 auth:true 的话后面使用 mongodump 备份数据和 使用 mongorestore 恢复数据也是不一样的,会有问题,以及在 使用 studio 3T 可视化工具连接服务器时也有有问题,这里展示下开启鉴权时使用 studio 3T 可视化工具连接服务器报的错误

错误截图
在这里插入图片描述
这个错误就是设置了鉴权导致的,但是这是后续的内容了,如果知识想安装 mongoDB 和配置的话按照上面的去做应该问题不大~

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐