项目集成mongo,采用docker进行安装,在安装过程中遇到一些问题进行记录,方便日后查询:
一、因公司服务器老旧,cpu为奔腾,不支持AVX指令集,所以执行启动时一直处理restart状态,错误提示为:Restarting (1) 49 seconds ago,日志错误为:MongoDB 5.0+ requires a CPU with AVX support,经查找如下:
如果是英特尔的CPU,只要是二代或以后的i3、i5或者i7这几种,就会支持AVX指令集,奔腾及赛扬暂不支持
于是采用4.4.0版本进行安装,步骤记录如下:
1、docker run命令启动
docker pull mongo:4.4.0
mkdir -p /home/docker/mongo/data/db
mkdir -p /home/docker/mongo/data/log
docker run -d --name mongo --restart=always -e TZ=Asia/Shanghai -v /home/docker/mongo/data/db:/data/db -v /home/docker/mongo/data/log:/var/log/mongodb -p 27017:27017 --privileged=true mongo:4.4.0
docker ps -a
docker exec -it mongo mongo admin
db.createUser({user:'admin',pwd:'wugz1019',roles:['userAdminAnyDatabase']});
2、docker-compose启动,文件如下:mongo-docker-compose.yml
version: "3"
services:
mongodb:
image: mongo:4.4.0
restart: always
container_name: mongo
ports:
- 27017:27017
volumes:
- /home/docker/mongo/data/db:/data/db
- /home/docker/mongo/data/log:/var/log/mongodb
```bash
docker-compose -f mongo-docker-compose.yml up -d
使用navicate进行连接,默认无密码,创建用户与删除用户命令记录:
use admin;
show users;
db.createUser({user:'admin',pwd:'wugz1019',roles:['userAdminAnyDatabase']});
db.dropUser('root') ;
use XXX;
db.createUser({user:'XXX',pwd:'XXX',
roles:[
{
"role" : "clusterAdmin",
"db" : "admin"
},
{
"role" : "readAnyDatabase",
"db" : "admin"
},
{
"role" : "readWrite",
"db" : "XXX"
}
]});