mongoDB作为基于磁盘的非关系型数据库,对于JSON格式的数据非常友好,并且具有优先的查询效率。越来越多的场景使用到了mongoDB,今天也来讲讲如何在mac m1下安装mongoDB
1. 基于docker安装首先说明我们本次安装是基于docker实现的,更加方便快捷,也易于管理我们电脑上各类开发软件。
如果还没有安装docker的需要现在电脑上安装docker
1、下载mongodb镜像 这里我们选择4.4版本,目前最新版为5.0,但5.0后会对saslContinue参数严格校验,不配置会报错BSON field 'saslContinue.mechanism' is an unknown field.
。该问题详细可见官网或者阿里云社区中的说明,这里不再展开
docker pull mongo:4.4
2、创建容器 其中--auth
表示访问时需要密码
docker run -itd --name mongo -p 27017:27017 mongo:4.4 --auth
3、设置账号密码
# 查看容器
docker ps
# 通过容器名称进入容器内部,并以admin账号登陆mongo
docker exec -it mongo mongo admin
# 容器内部执行指令
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'root', db: 'admin'}]});
4、连接账户
db.auth('root', '123456')
显示1
表示连接成功
5、测试连接数据库
连接成功,至此,我们的mongodb就安装成功了!
开启慢日志需要修改配置文件,docker安装的mongodb容器时没有安装vim
和vi
指令的。
于是我们要先安装vim
1、在mongodb docker容器内部执行
apt-get update
# 安装vim,弹出确认是输入Y
apt-get install vim
2、修改配置文件
vim /etc/mongod.conf.orig
添加配置项
operationProfiling:
# 慢日志阈值 单位毫秒
slowOpThresholdMs: 100 # 100ms
mode: slowOp
security:
# 开启认证
authorization: enabled
完整配置文件
# mongod.conf
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
operationProfiling:
# 慢日志阈值 单位毫秒
slowOpThresholdMs: 100 # 100ms
mode: slowOp
# network interfaces
net:
port: 27017
# 开启远程连接
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
security:
# 开启认证
authorization: enabled
3、重启mongodb容器
docker restart mongo
4、查看日志
docker logs mongo
2. 基于homebrew安装
以下安装基于homebrew进行,如未安装homebrew请先安装再继续操作 在github mongodb中也有安装说明 1、执行指令
brew tap mongodb/brew
2、这里选择安装mongo4.4社区版本
brew install mongodb-community@4.4
3、启动mongo
brew services start mongodb-community@4.2
如果需要自定义配置文件的话, 需要先创建配置文件:
1、mongo的相关默认文件路径如下,提前创建好这些文件夹
- 配置文件: /usr/local/etc/mongod.conf
- 日志文件: /usr/local/var/log/mongodb
- 数据文件: /usr/local/var/mongodb
sudo mkdir /usr/local/etc
sudo mkdir /usr/local/var
sudo mkdir /usr/local/var/log
sudo mkdir /usr/local/var/log/mongodb
sudo mkdir /usr/local/var/mongodb
2、创建配置文件
sudo mkdir /usr/local/etc
sudo vim /usr/local/etc/mongod.conf
配置文件内容
# mongod.conf
storage:
dbPath: /usr/local/var/mongodb
journal:
enabled: true
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /usr/local/var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
# 开启远程连接
bindIp: 0.0.0.0
# how the process runs
processManagement:
timeZoneInfo: /usr/share/zoneinfo
3、添加环境变量
vim ~/.zshrc
在最后添加,这里是你mongo的安装目录的bin文件夹
export PATH="/opt/homebrew/Cellar/mongodb-community@4.4/4.4.13/bin:$PATH"
4、重新加载环境变量
source ~/.zshrc
5、以配置文件形式启动mongo
sudo mongod --config /usr/local/etc/mongod.conf
6、登录mongo
mongo admin
7、创建管理员账号root,密码123456
db.createUser({ user:'root',pwd:'123456',roles:[ { role:'root', db: 'admin'}]});
8、修改配置文件,开启权限校验
sudo vim /usr/local/etc/mongod.conf
添加内容
security:
# 开启认证
authorization: enabled
9、重新启动mongo(因为上述是前台启动的,所以ctrl+c可以退出mongo)
ctrl+c
sudo mongod --config /usr/local/etc/mongod.conf
2.2 开启慢日志
1、修改配置文件
sudo vim /usr/local/etc/mongod.conf
添加配置项 mode有三个值:
- off 关闭日志
- slowOp 慢日志
- all 所有操作日志
operationProfiling:
# 慢日志阈值 单位毫秒
slowOpThresholdMs: 100 # 100ms
mode: slowOp
2、重启mongo