mac安装配置mongoDB踩坑全记录

154 阅读2分钟

安装参考文档:

1.安装1

2.安装2

安装

1.下载 www.mongodb.com/ 解压重命名为mongodb;

2.进入访达,shift+comment+G 搜索 usr/local,将重命名文件放入其中; image.png

3.在mongodb中新增data用来存放数据库文件,log用来存放日志,etc用来存放配置文件

#进入etc打开终端,在 etc 文件中新建 mongodb.conf 
touch mongodb.conf
#配置 mongodb.conf 
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=wiredTige

#开启认证 
auth = true

image.png

配置环境变量

cd ~
#注意此时在 ~ 目录下
#每个人的 mac 环境变量可能不同, 可以通过终端指令去检查一下
echo $SHELL
#如果输出的是/bin/zsh,说明使用的是zsh 配置文件是 .zshrc
#如果输出的是/bin/bash,说明使用的是bash 配置文件是 .bash_profile
#我的是zsh,通过终端打开环境变量
#根目录下如果没有.zshrc文件 新建
touch .zshrc 
#再打开
open -e .zshrc
#这时会打开一个文本编辑器,根据mongodb目录进行配置
export PATH=${PATH}:/usr/local/mongodb/bin
# 编辑保存之后启动
source .zshrc

image.png

image.png

#到这里已经完成了,你可以通过终端查看到 mongodb的信息了
mongod --version
#返回的内容是这样表示安装成功了
db version v6.0.2
Build Info: {
    "version": "6.0.2",
    "gitVersion": "94fb7dfc8b974f1f5343e7ea394d0d9deedba50e",
    "modules": [],
    "allocator": "system",
    "environment": {
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

启动

通过配置文件启动

sudo mongod -f /usr/local/mongodb/etc/mongodb.conf

image.png

打开另一个终端,如果mongodb版本在6以上,不要输入mongo,而是mongosh 详见, 根据以上操作之后,把下载的mongosh/bin里面的文件复制到了mongodb中,输入mongosh之后出现>即为成功

image.png

关闭服务

# 启动命令
sudo mongod -f /usr/local/mongodb/etc/mongodb.conf
#打开浏览器输入: http://127.0.0.1:27017/
It looks like you are trying to access MongoDB over HTTP on the native driver port.
#启动成功

#关闭服务,由于mongodb.conf 设置了
auth=true
#需要权限,所以我们来创建用户
#在另一终端里
mongosh
use admin
#创建用户
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 可视化工具连接服务器时也有有问题

image.png

Docker方式

# 1.拉取 mongodb 镜像
- docker pull mongo:5.0.5
# 2.运行 mongo 镜像
- docker run -d --name mongo --p 27017:27017 mongo:5.0.5
# 3.进入 mongo 容器
- docker exec -it bc6c bash
# 4.退出 mongo 容器
- exit
# 5.退出 Docker
- exit