系統環境:Centos7 MongoDB 4.0.0
創建文件
注意:創建文件全是為了
Docker run
做准備,文件所對應的路徑需與下一步的映射路徑所對應,路徑可自我更改。
mkdir mongo
cd mongo
mkdir data conf logs
cd logs
mkdir -p mongodb/master
touch mongodb/master/mongodb.log
chmod 777 mongodb/master/mongodb.log
touch /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
- 啟動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 bash
mongo
> use admin #切換數據庫,如果沒有的話就是創建庫
> db.createUser({user:'super',pwd:'super', roles:[{role:'root', db:'admin'}]}) #創建用戶
> db.auth("super","super") #切換用戶
> db.test.find().pretty() #查找所有用戶
MongoDB語句
-
數據庫刪除語句,如下刪除
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權限參考:權限詳解用戶授權管理
以上內容經個人實操操作完成並成功,已將參考鏈接放置末尾如對配置文件或者命令疑問者可查看參考鏈接。