系统环境:Centos7 MongoDB 4.0.0
注意:创建文件全是为了
Docker run
做准备,文件所对应的路径需与下一步的映射路径所对应,路径可自我更改。
mkdir mongo cd mongomkdir data conf logscd logsmkdir -p mongodb/mastertouch mongodb/master/mongodb.logchmod 777 mongodb/master/mongodb.logtouch /home/mongo/conf/mongod.conf vim /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 -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权限
docker exec -it mongodb bash mongo > use admin #切换数据库,如果没有的话就是创建库 > db.createUser({user:'super',pwd:'super', roles:[{role:'root', db:'admin'}]}) #创建用户 > db.auth("super","super") #切换用户 > db.test.find().pretty() #查找所有用户
数据库删除语句,如下删除
test
库
>use test >db.dropDatabase() #删除用户需有权限才行,所删除之前需要登录有权限的账号
用户删除语句,如下删除
read
用户
>use admin > db.auth("super","super") #删除用户需有权限才行,所需切换有权限的账号 >db.dropUser("read")
数据库删除语句,如下在
test
库中插入数据
> use test > db.test.insert({"name":"菜鸟教程"})
注意
:权限为所以数据库的话,必须在数据库admin下切换账号,不然会报错。
MongoDB语句参考:增删用户语句 增删数据库语句
MongoDB配置参考:配置文件详解
MongoDB权限参考:权限详解用户授权管理
以上内容经个人实操操作完成并成功,已将参考链接放置末尾如对配置文件或者命令疑问者可查看参考链接。