MongoDB 簡(jiǎn)單入門教程(安裝、基本概念、創(chuàng)建用戶)
工作方向上的原因,不得不接觸部分MongoDB的運(yùn)維工作,之前有接觸過(guò)一些MongoDB的內(nèi)容,基本的運(yùn)維操作沒(méi)有什么問(wèn)題,包括MongoDB的集群搭建、數(shù)據(jù)分片功能等都測(cè)試過(guò)。但是時(shí)間久了,很多東西不用就忘記了,最近準(zhǔn)備出一個(gè)系列的MongoDB的運(yùn)維操作文章,希望把這塊兒內(nèi)容重新拾起來(lái)。網(wǎng)上查了查,MongDB講得好的書(shū)也就是<MongoDB權(quán)威指南>這本了,但是它引用的MongoDB版本比較舊,所以最好結(jié)合著官方文檔看,這樣收獲會(huì)更快。MongoDB中文論壇里面也有不少前人總結(jié)的好文檔,對(duì)學(xué)習(xí)都很有幫助。廢話不多說(shuō),開(kāi)始講述吧!
NO.1 Linux下MongoDB的安裝
Linux下MongoDB的安裝還算簡(jiǎn)單,總體可以分為如下幾步:
1、去官網(wǎng)www.mongodb.org 上下載對(duì)應(yīng)版本的二進(jìn)制包,例如mongodb-linux-x86_64-rhel70-4.0.21-rc1.tgz
2、使用tar工具對(duì)這個(gè)包進(jìn)行解壓,通常解壓的路徑是/usr/local/
tar -zxvf mongodb-xxxx.tgz -C /usr/local
3、配置.bashrc中的環(huán)境變量,或者/etc/bashrc中的Path變量。添加下面的內(nèi)容即可:
export MONGO_HOME="/usr/local/mongodb"
4、創(chuàng)建一個(gè)配置文件,放在目錄/data/mongodb_${port}目錄下,注意port為變量,它是你默認(rèn)的端口(注意,MongoDB的默認(rèn)端口是27017,一般不選用這個(gè)默認(rèn)端口,我本人習(xí)慣將端口配置為27018,當(dāng)然,你可以自己定義),配置文件mongo.conf內(nèi)容如下:
dbpath=/data/mongo_27018/data logpath=/data/mongo_27018/log/mongodb.log auth=false bind_ip=127.0.0.1 logappend=true port=27018 fork=true journal=false
5、啟動(dòng)MongoDB服務(wù)。
mongod --config /data/mongo_27018/mongo.conf
即可
6、使用mongo命令行連接MongoDB服務(wù)
[root@VM-0-14-centos ~]# mongo --port=27018
MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27018/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("749f350a-398b-4dcb-992c-f5f7b20e0426") }
MongoDB server version: 4.0.6
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
NO.2 數(shù)據(jù)存儲(chǔ)基本概念
MongoDB中的數(shù)據(jù)存儲(chǔ)方式和MySQL不一樣,因?yàn)镸ongoDB是專門針對(duì)分布式設(shè)計(jì)的數(shù)據(jù)庫(kù),因此它的存儲(chǔ)方式相對(duì)比較靈活。
在MySQL中,我們關(guān)心的數(shù)據(jù)對(duì)象分別是數(shù)據(jù)庫(kù)、表、記錄;
在MongoDB中,它們對(duì)應(yīng)成為數(shù)據(jù)庫(kù)、集合、文檔。
你可以類比的認(rèn)為集合和表是一個(gè)概念,記錄和文檔是一個(gè)概念,當(dāng)然,它們中間還有很多不同的地方。舉個(gè)小例子: 在MySQL中,所有表中的記錄,擁有相同的字段,在MongoDB中,同一個(gè)集合中的文檔擁有的字段可以不同。下面是同一個(gè)collection(person)中,不同的表記錄。
> use test
switched to db test
> show collections;
num
person
> db.person.find()
{ "_id" : ObjectId("5f96ac2f5e5c5ff982b9c6ae"), "name" : "yeyz", "age" : [ 26, 30 ], "info" : [ { "sex" : "male", "score" : 100 } ] }
{ "_id" : ObjectId("5f96e286dee7ee56f803605f"), "age" : 1 }
NO.3 用戶創(chuàng)建
MongoDB中的賬號(hào)一般設(shè)置成庫(kù)級(jí)別的,我們創(chuàng)建賬號(hào)的時(shí)候,需要指明這個(gè)賬號(hào)是隸屬于哪個(gè)庫(kù)。我們上面的配置文件中配置了auth=false,說(shuō)明登錄的時(shí)候不需要驗(yàn)證用戶權(quán)限,這樣當(dāng)然是不安全的。那么我們就需要為這個(gè)MongoDB實(shí)例創(chuàng)建一個(gè)我們想要的賬號(hào),創(chuàng)建賬號(hào)的語(yǔ)句如下:
db.createUser(
... ... {
... ... user: "yeyz",
... ... pwd: "123456", // 或者輸入明文密碼
... ... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... ... }
... ... )
這里,我創(chuàng)建了一個(gè)賬號(hào),名字叫yeyz,密碼是123456,這個(gè)賬號(hào)我們注意到還有一個(gè)roles的字段,它的內(nèi)容意思是該賬戶是個(gè)管理賬戶,隸屬于admin庫(kù)下,它可以讀寫(xiě)所有的database,這樣我們?cè)诘卿浀臅r(shí)候,就可以使用這個(gè)賬號(hào)進(jìn)行登錄。如下:
[root@VM-0-14-centos ~]# mongo --port=27018 -u "yeyz" -p 123456
MongoDB shell version v4.0.6
connecting to: mongodb://127.0.0.1:27018/?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("5cfebf40-2ede-4852-9c83-f85efbf13a4e") }
MongoDB server version: 4.0.6
> show dbs;
admin 0.000GB
config 0.000GB
local 0.000GB
test 0.000GB
以上內(nèi)容,僅僅是MongoDB的一小部分,它的賬號(hào)體系、數(shù)據(jù)存儲(chǔ)體系以及增刪改查方法,后面的文章我們會(huì)繼續(xù)講述,今天就先到這里。
以上就是MongoDB 簡(jiǎn)單入門教程(安裝、基本概念、創(chuàng)建用戶)的詳細(xì)內(nèi)容,更多關(guān)于MongoDB 入門教程的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- 2021最新版windows10系統(tǒng)MongoDB數(shù)據(jù)庫(kù)安裝及配置環(huán)境
- Docker mongoDB 4.2.1 安裝并收集springboot日志的步驟詳解
- MongoDB4.2.5安裝方法操作步驟
- 詳解linux 使用docker安裝mongodb方法
- Pycharm連接MongoDB數(shù)據(jù)庫(kù)安裝教程詳解
- ubuntu安裝mongodb創(chuàng)建賬號(hào)和庫(kù)及添加坐標(biāo)索引的流程分析
- Linux安裝MongoDB啟動(dòng)及常見(jiàn)問(wèn)題解決
- Centos7 yum安裝mongodb實(shí)現(xiàn)步驟詳解
- CentOS7.2 安裝 MongoDB 3.4的教程
- MongoDB數(shù)據(jù)庫(kù)的安裝步驟
相關(guān)文章
MongoDB對(duì)Document(文檔)的插入、刪除及更新
這篇文章介紹了MongoDB對(duì)Document(文檔)的插入、刪除及更新,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07
MongoDB添加仲裁節(jié)點(diǎn)報(bào)錯(cuò):replica set IDs do not match的解決方法
這篇文章主要給大家介紹了關(guān)于MongoDB添加仲裁節(jié)點(diǎn)報(bào)錯(cuò):replica set IDs do not match的解決方法,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11
教你使用mongoose實(shí)現(xiàn)多集合關(guān)聯(lián)查詢
這篇文章主要給大家介紹了關(guān)于如何使用mongoose實(shí)現(xiàn)多集合關(guān)聯(lián)查詢的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02
mongodb字段值自增長(zhǎng)實(shí)現(xiàn)代碼
這篇文章主要介紹了mongodb字段值自增長(zhǎng)實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Pycharm連接MongoDB數(shù)據(jù)庫(kù)安裝教程詳解
這篇文章主要介紹了Pycharm連接MongoDB數(shù)據(jù)庫(kù)安裝教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
教大家8天學(xué)通MongoDB——第一天 基礎(chǔ)入門篇
MongoDB是目前非常流行的一種非關(guān)系型數(shù)據(jù)庫(kù)(NoSQL),因其操作簡(jiǎn)單、完全免費(fèi)、源碼公開(kāi)等特點(diǎn),受到了IT從業(yè)人員的青睞,并被廣泛部署于實(shí)際的生產(chǎn)環(huán)境中。本文教大家8天學(xué)通MongoDB——第一天 基礎(chǔ)入門篇,感興趣的朋友一起來(lái)了解了解吧2015-09-09
MongoDB快速入門及其SpringBoot實(shí)戰(zhàn)教程
MongoDB是一個(gè)開(kāi)源、高性能、無(wú)模式的文檔型數(shù)據(jù)庫(kù),當(dāng)初的設(shè)計(jì)就是用于簡(jiǎn)化開(kāi)發(fā)和方便擴(kuò)展,是NoSQL數(shù)據(jù)庫(kù)產(chǎn)品中的一種,它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是一種類似于JSON的格式叫BSON,本文介紹MongoDB快速入門及其SpringBoot實(shí)戰(zhàn),感興趣的朋友一起看看吧2023-12-12
CentOS7下安裝MongoDB數(shù)據(jù)庫(kù)過(guò)程
大家好,本篇文章主要講的是CentOS7下安裝MongoDB數(shù)據(jù)庫(kù)過(guò)程,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
1億條記錄的MongoDB數(shù)據(jù)庫(kù)隨機(jī)查詢性能測(cè)試
這篇文章主要為大家分享下1億條記錄的MongoDB數(shù)據(jù)庫(kù)隨機(jī)查詢性能測(cè)試結(jié)果,需要的朋友可以參考下2013-12-12

