系统环境:Centos7 MongoDB 4.0.0
创建⽂件
注意:创建⽂件全是为了Docker run做准备,⽂件所对应的路径需与下⼀步的映射路径所对应,路径可⾃我更改。
mkdir mongo cd mongo
mkdir data conf logscd logs
mkdir -p mongodb/master
touch mongodb/master/mongodb.log
chmod 777 mongodb/master/mongodb.logtouch /home/mongo/conf/mongod.confvim /home/mongo/conf/mongod.conf# 增加已下配置⽂件
# 数据库⽂件存储位置dbpath = /data/db/# log⽂件存储位置
logpath = /data/log/mongodb/master/mongodb.log# 使⽤追加的⽅式写⽇志logappend = true
# 是否以守护进程⽅式运⾏# fork = true# 端⼝号
port = 27017# 是否启⽤认证auth = true
# 设置oplog的⼤⼩(MB)oplogSize=2048
防⽕墙设置
开启防⽕墙
systemctl start firewall
防⽕墙放端⼝
firewall-cmd --zone=public --add-port=27010/tcp --permanent
重启防⽕墙
firewall-cmd --reload
Docker run
启动docker
docker run -itd --name mongodb --restart=always --privileged -p 27017:27017 -v /home/mongo/data:/data/db -v /home/mongo/conf:/data/configdb -v /home/mongo/logs:/data/log/ mongo:4.0.0 -f /data/configdb/mongod.conf --bind_ip_all # -v 指定配置⽂件启动
# --bind_ip_all 允许所以IP访问
# ----restart=always Docker服务重启容器也启动# --privileged 拥有真正的root权限
MongoDB设置
docker exec -it mongodb bashmongo
> use admin #切换数据库,如果没有的话就是创建库
> db.createUser({user:'super',pwd:'super', roles:[{role:'root', db:'admin'}]}) #创建⽤户> db.auth(\"super\切换⽤户> db.test.find().pretty() #查找所有⽤户
MongoDB语句
数据库删除语句,如下删除test库
>use test
>db.dropDatabase() #删除⽤户需有权限才⾏,所删除之前需要登录有权限的账号
⽤户删除语句,如下删除read⽤户
>use admin
> db.auth(\"super\删除⽤户需有权限才⾏,所需切换有权限的账号>db.dropUser(\"read\")
数据库删除语句,如下在test库中插⼊数据
> use test
> db.test.insert({\"name\":\"菜鸟教程\
注意:权限为所以数据库的话,必须在数据库admin下切换账号,不然会报错。
参考链接
MongoDB语句参考: MongoDB配置参考:MongoDB权限参考:
以上内容经个⼈实操操作完成并成功,已将参考链接放置末尾如对配置⽂件或者命令疑问者可查看参考链接。
因篇幅问题不能全部显示,请点此查看更多更全内容