mac os 安装mongdb以及相关配置

341 阅读4分钟

记录下自己在mac os上安装mongdb全过程,以及遇到的相关问题

1.下载mongodb安装包

官网下载:www.mongodb.com/download-ce…

WeChat674ae0c2a88db077171dc43cd499617b.png

2. 复制下载链接后打开mac终端,使用cd命令进入 /usr/local 目录,然后使用wget命令下载 MongoDB 的压缩包,命令如下:

cd  /usr/local\
sudo wget https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-5.0.8.tgz

注意:如果输入命令后提示wget command not found,则需要通过在终端输入 brew install wget安装wget,如果没有安装brew,则可以看看我第一篇文章中安装brew的教程。

3.安装mongodb

待压缩包下载完成后就可以尝试安装 MongoDB 了,具体的安装步骤如下:

【步骤 1】解压缩刚刚下载的压缩包,并将其重命名为 mongodb:

sudo tar -zxvf mongodb-macos-x86_64-5.0.8.tgz          # 解压 MongoDB 压缩包\
sudo mv mongodb-osx-ssl-x86_64-5.0.8/ mongodb   # 重命名解压得到的文件夹

如果重命名失败,可以手动进入文件夹修改名称

【步骤 2】在 /usr/local/mongodb 目录下新建两个文件夹 data 和 log,用于存储 MongoDB 的数据和日志。

sudo mkdir -p /usr/local/mongodb/data\
sudo mkdir -p /usr/local/mongodb/log

使用如下命令为当前用户分配目录的读写权限:

sudo chown username /usr/local/mongodb/data\
sudo chown username /usr/local/mongodb/log

其中“username”为当前的用户名,您需要修改为您当前系统的用户名。

【步骤 3】配置 PATH。在终端中输入open -e .bash_profile命令打开 bash_profile 配置文件,然后将 MongoDB 的安装目录下的 bin 目录添加到环境变量中,如下所示:

export PATH=${PATH}:/usr/local/mongodb/bin

编辑完成后保存并退出,然后使用source .bash_profile命令使配置立即生效。

注意:如果输入open -e .bash_profile 显示不存在,则需手动创建.bash_profile,步骤如下:1:在终端中输入touch .bash_profile,2:输入open -e .bash_profile编辑.bash_profile。3:弹出编辑界面

export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH=${PATH}:/usr/local/mongodb/bin

4:按cmd+s保存文件 返回终端输入更新相关配置就可以了

编辑完成后保存并退出,然后使用source .bash_profile命令使配置立即生效。

【步骤 4】使用下面的命令来启动 MongoDB 服务:

mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongo.log --fork

// 出现child process started successfully, parent exiting说明启动成功

打开新终端,输入mongo,出现小箭头,说明mongodb成功启动,也可以浏览器打开localhost:27017查看,若出现It looks like you are trying to access MongoDB over HTTP on the native drive port,说明启动成功。

参数说明如下:

  • --dbpath 用来设置数据的存放目录;
  • --logpath 用来设置日志的存放目录;
  • --fork 用来设置在后台运行。

至此 MongoDB 就安装完成了。

4.验证安装

您可以使用mongod -version命令来验证 MongoDB 是否安装成功,如果出现类似下面所示的内容,则说明 MongoDB 安装成功。

db version v5.0.8

Build Info: {

    "version": "5.0.8",

    "gitVersion": "c87e1c23421bf79614baf500fda6622bd90f674e",

    "modules": [],

    "allocator": "system",

    "environment": {

        "distarch": "x86_64",

        "target_arch": "x86_64"

    }

}

重启一下终端看看是否依然成功。
若发现全局变量又无效了,大概可能是.zshrc该文件中没有自动执行我们配置的全局变量。终端进入用户根路径

  • 打开zshrc文件
open .zshrc

如果提示没有该文件,则输入touch .zshrc后重新输入open .zshrc

  • 在该文件中添加:source .bash_profile ,保存,退出该文件。然后刷新一下终端:
source .zshrc
  • 在根目录~下,输入mongo和mongod,不显示没有指令,而是如下显示,则设置全局环境变量成功。

WeChatffcaa908f1450fc37af9ec79344d1773.png

5.关闭服务:若直接关闭终端,下次启动可能报错。

  1. 在启动进程的终端command + c
  2. 在mongo终端
// 切换管理员角色
use admin
// 输入关闭服务命令,参数可写可不写
db.shutdownServer({force:true})

若遇到下次启动报错类似如下错误:

about to fork child process, waiting until server is ready for connections.

forked process: 5944

ERROR: child process failed, exited with 48

To see additional information in this output, start without the "--fork" option.

问题原因:上一次启动MongoDB后没有正确结束这个进程。比如 直接关闭Terminal、用kill命令结束进程 等方式,都是不当结束MongoDB进程,且容易造成数据丢失,即使后续执行repair也没用。

解决办法:

  1. 查看mongo进程:ps aux|grep mongo
madi      5952   0.0  0.0  4277624    716 s003  S+    2:57下午   0:00.00 grep mongo

madi      5876   0.0  0.2  5545248  29652   ??  S     2:43下午   0:04.64 mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongo.log --fork
  1. 杀死进程:sudo kill -2 5952
madi@192 ~ % sudo kill -2 5952

Password:

kill: 5952: No such process

然后重新启动mongodb就可以了