YUM安裝
編譯安裝源
筆者使用版本:5.0
touch /etc/yum.repos.d/mongodb-org-5.0.repo && vi /etc/yum.repos.d/mongodb-org-5.0.repo
代碼如下
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
安裝
mkdir -p /var/lib/mongo
mkdir -p /var/log/mongodb
mkdir -p /var/run/mongodb
chown -R mongod:mongod /var/lib/mongo
chown -R mongod:mongod /var/log/mongodb
chown -R mongod:mongod /var/run/mongodb
yum install -y mongodb-org
默認(rèn)情況下赂鲤,MongoDB使用mongod用戶帳戶運行篙贸,并使用以下默認(rèn)目錄:
/var/lib/mongo (數(shù)據(jù)目錄)
/var/log/mongodb (日志目錄)
驗證結(jié)果
rpm -qa |grep mongodb #圖示結(jié)果即為成功
rpm -ql mongodb-org-server #該語句可以看到安裝路徑(圖:略)
rpm -qa |grep mongodb
啟動
systemctl start mongod.service #啟動服務(wù)
netstat -natp | grep 27017 #通過查看啟動情況,
ps -aux | grep mongod #查看進(jìn)程
進(jìn)入命令界面
mongo #進(jìn)入mongodb命令行界面
mongo
基礎(chǔ)操作
創(chuàng)建用戶携丁、設(shè)置帳號、密碼和權(quán)限
// admin數(shù)據(jù)庫
> use admin
switched to db admin
> db.createUser({ user:"root", pwd:"123456", roles:["root"] })
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
> use mylogs #同時也是創(chuàng)建數(shù)據(jù)庫
> db.createUser({ user:"mylogsRoot", pwd:"logs...", roles:["readWrite", "dbAdmin"] })
>
連接配置
允許遠(yuǎn)程連接
vi /etc/mongod.conf
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
修改綁定ip默認(rèn)127.0.0.1只允許本地連接迈窟, 所以修改為bindIp:0.0.0.0, 退出保存
啟動身份驗證
vi /etc/mongod.conf
----
security:
authorization: "enabled" # disable or enabled
重啟服務(wù)生效
service mongod restart
遠(yuǎn)程連接
mongo shell
本文是mongo shell命令操作
mongo shell請從https://www.mongodb.com/products/shell下載
mongosh ip # 終端連接
附錄
用戶角色與權(quán)限
角色 | 描述 |
---|---|
root | 只在admin數(shù)據(jù)庫中可用。超級賬號孟岛,超級權(quán)限 |
Read | 允許用戶讀取指定數(shù)據(jù)庫 |
readWrite | 允許用戶讀寫指定數(shù)據(jù)庫 |
dbAdmin | 允許用戶在指定數(shù)據(jù)庫中執(zhí)行管理函數(shù)采缚,如索引創(chuàng)建针炉、刪除,查看統(tǒng)計或訪問system.profile |
userAdmin | 允許用戶向 |
system.users | 集合寫入扳抽,可以找指定數(shù)據(jù)庫里創(chuàng)建篡帕、刪除和管理用戶 |
clusterAdmin | 只在admin數(shù)據(jù)庫中可用,賦予用戶所有分片和復(fù)制集相關(guān)函數(shù)的管理權(quán)限 |
readAnyDatabase | 只在admin數(shù)據(jù)庫中可用贸呢,賦予用戶所有數(shù)據(jù)庫的讀權(quán)限 |
readWriteAnyDatabase | 只在admin數(shù)據(jù)庫中可用镰烧,賦予用戶所有數(shù)據(jù)庫的讀寫權(quán)限 |
userAdminAnyDatabase | 只在admin數(shù)據(jù)庫中可用,賦予用戶所有數(shù)據(jù)庫的userAdmin權(quán)限 |
dbAdminAnyDatabase | 只在admin數(shù)據(jù)庫中可用贮尉,賦予用戶所有數(shù)據(jù)庫的dbAdmin權(quán)限 |
客戶端工具
MongoVUE
使用方法(待補充)拌滋,可自先度娘
RoboMongo
使用方法(待補充),可自先度娘
不同語言mongodb的連接工具
node.js
mongoose
- Mongoose 是一個讓我們可以通過Node來操作MongoDB數(shù)據(jù)庫的一個模塊
- Mongoose 是一個對象文檔模型(ODM)庫猜谚,它是對Node原生的MongoDB模塊進(jìn)行了進(jìn)一步的優(yōu)化封裝
- 大多數(shù)情況下败砂,他被用來把結(jié)構(gòu)化的模式應(yīng)用到一個MongoDB集合,并提供了驗證和類型裝換等好處
- 基于MongoDB驅(qū)動魏铅,通過關(guān)系型數(shù)據(jù)庫的思想來實現(xiàn)非關(guān)系型數(shù)據(jù)庫
java(待續(xù))
附錄
mongodb的基本概念
image.png
參考:
[官網(wǎng)] https://www.mongodb.com/
官網(wǎng)文檔