四字母net做網(wǎng)站怎么樣競(jìng)價(jià)推廣和信息流推廣
? ? ? ? 在這篇文章中,我們將介紹如何在CentOS 7服務(wù)器上安裝MongoDB,并通過DataX將數(shù)據(jù)從MongoDB遷移到MySQL數(shù)據(jù)庫。這將包括MongoDB的安裝、配置、數(shù)據(jù)準(zhǔn)備以及使用DataX進(jìn)行數(shù)據(jù)遷移的詳細(xì)步驟。
MongoDB簡(jiǎn)介
????????MongoDB是一個(gè)高性能、開源、無模式的文檔型數(shù)據(jù)庫,它在處理大量數(shù)據(jù)時(shí)表現(xiàn)出色,尤其是在需要靈活的數(shù)據(jù)模型和快速迭代開發(fā)的環(huán)境中。MongoDB的存儲(chǔ)格式是BSON(二進(jìn)制JSON),這使得它能夠存儲(chǔ)復(fù)雜的數(shù)據(jù)結(jié)構(gòu),如數(shù)組和嵌套文檔。它由C++編寫,支持Linux、Windows和macOS等主流操作系統(tǒng),并通過默認(rèn)端口27017進(jìn)行通信。
MongoDB 主要特點(diǎn)
????????MongoDB 是一個(gè)高性能、高可用、易擴(kuò)展的 NoSQL 數(shù)據(jù)庫,它在現(xiàn)代應(yīng)用程序中非常受歡迎,特別是在需要處理大量數(shù)據(jù)和高并發(fā)訪問的場(chǎng)景中。以下是對(duì) MongoDB 的一些關(guān)鍵特點(diǎn)的更詳細(xì)描述:
? ? ?非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)
????????MongoDB 使用 BSON(二進(jìn)制 JSON)格式存儲(chǔ)數(shù)據(jù),這種格式不僅支持 JSON 中的所有數(shù)據(jù)類型,還支持 MongoDB 特有的數(shù)據(jù)類型,如日期、二進(jìn)制數(shù)據(jù)、代碼、正則表達(dá)式等。這種靈活的數(shù)據(jù)模型使得 MongoDB 能夠存儲(chǔ)各種復(fù)雜和嵌套的數(shù)據(jù)結(jié)構(gòu),非常適合快速發(fā)展和頻繁變更的數(shù)據(jù)模型。
???? 動(dòng)態(tài)模式
????????MongoDB 的文檔結(jié)構(gòu)是動(dòng)態(tài)的,這意味著你可以在同一個(gè)集合中存儲(chǔ)具有不同結(jié)構(gòu)的文檔,而不需要預(yù)先定義一個(gè)固定的模式。這種靈活性允許開發(fā)者在應(yīng)用程序的生命周期中輕松地添加、修改或刪除字段,而不會(huì)中斷服務(wù)。
?????水平擴(kuò)展性
????????MongoDB 通過分片(Sharding)技術(shù)實(shí)現(xiàn)水平擴(kuò)展,可以將數(shù)據(jù)分布到多個(gè)服務(wù)器上,從而提高處理大量數(shù)據(jù)的能力。分片允許數(shù)據(jù)庫在多個(gè)服務(wù)器之間自動(dòng)分配數(shù)據(jù),從而提高讀寫性能和存儲(chǔ)容量。
?????高可用性和復(fù)制集
????????MongoDB 使用復(fù)制集(Replica Sets)來提供數(shù)據(jù)的高可用性和數(shù)據(jù)冗余。復(fù)制集由多個(gè) MongoDB 服務(wù)器組成,它們之間會(huì)同步數(shù)據(jù)。如果主節(jié)點(diǎn)發(fā)生故障,復(fù)制集可以自動(dòng)選舉新的主節(jié)點(diǎn),確保數(shù)據(jù)的持續(xù)可用性。
?????操作簡(jiǎn)單高效
????????MongoDB 提供了一個(gè)強(qiáng)大的查詢語言,支持復(fù)雜的查詢操作,如聚合框架(Aggregation Framework),它允許用戶執(zhí)行復(fù)雜的數(shù)據(jù)處理和分析任務(wù)。索引機(jī)制也得到了優(yōu)化,支持多種類型的索引,如單字段索引、復(fù)合索引、全文索引等,以提高查詢性能。
?????靈活性
????????MongoDB 支持多種查詢操作,包括嵌套查詢、地理空間查詢等,這使得它能夠適應(yīng)各種應(yīng)用場(chǎng)景,如社交網(wǎng)絡(luò)、電子商務(wù)、物聯(lián)網(wǎng)等。它還提供了豐富的 API 和驅(qū)動(dòng)程序,支持多種編程語言,使得開發(fā)者可以輕松地在應(yīng)用程序中集成和操作 MongoDB。
? ?? 跨平臺(tái)兼容性
????????MongoDB可以在多種操作系統(tǒng)上運(yùn)行,支持32位和64位架構(gòu)。這種跨平臺(tái)兼容性使得MongoDB能夠靈活地部署在不同的硬件和軟件環(huán)境中。
? ??社區(qū)和企業(yè)支持
????????MongoDB擁有一個(gè)活躍的開源社區(qū)和專業(yè)的企業(yè)支持。這為用戶提供了豐富的資源和工具,幫助他們構(gòu)建、部署和維護(hù)MongoDB數(shù)據(jù)庫
進(jìn)一步閱讀
- MongoDB官方文檔
- MongoDB聚合框架教程
- MongoDB分片和復(fù)制集指南
MongoDB的安裝
步驟1:添加MongoDB倉庫
首先,我們需要在CentOS 7上添加MongoDB的yum倉庫。打開終端并執(zhí)行以下命令:
vi /etc/yum.repos.d/mongodb-org-3.4.repo
在打開的文件中,添加以下內(nèi)容:?
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
步驟2:安裝MongoDB
保存并退出文件后,運(yùn)行以下命令來安裝MongoDB:
yum install -y mongodb-org
?由于已經(jīng)安裝過了所以顯示
軟件包 mongodb-org-4.4.29-1.el7.x86_64 已安裝并且是最新版本
步驟3:載MongoDB (選做)
systemctl stop mongod 關(guān)閉
yum erase $(rpm -qa | grep mongodb-org) 卸載
#刪除數(shù)據(jù)及日志
rm -rf /var/log/mongodb
rm -rf /var/lib/mongo
步驟4:修改MongoDB配置文件,允許遠(yuǎn)程連接
vi /etc/mongod.confnet:port: 27017 #數(shù)據(jù)庫端口,如果要遠(yuǎn)程連接,服務(wù)器記得開放端口bindIp: 0.0.0.0 # 默認(rèn)是 127.0.0.1 只限于本機(jī)連接,如果要遠(yuǎn)程連接修改為:0.0.0.0
?
步驟5:啟動(dòng)MongoDB服務(wù)
啟動(dòng)MongoDB服務(wù),并設(shè)置為開機(jī)自啟:
service mongod start centos6的寫法
systemctl start mongod centos7的寫法
?
步驟6:MongoDB的基本操作
客戶端進(jìn)入MongoDB: mongo
創(chuàng)建數(shù)據(jù)庫: use demo
創(chuàng)建表,并且數(shù)據(jù): db.w_demo.insert({"name":"王明","age":"10","grade":"小學(xué)"})
遠(yuǎn)程連接
MongoDB可視化工具
host為虛擬機(jī)名稱或者IP地址,由于未設(shè)置賬號(hào)密碼所以賬號(hào)密碼為空
?連接成功
?