標籤:tst 大型 show 建立 yum netstat 資料結構 enable firewalld
基於CentOS7搭建mongodb(3.6.6版本)mongodb簡介
Mongodb,分布式文檔儲存資料庫,由C++語言編寫,旨在為WEB應用提供可擴充的高效能資料儲存解決方案。MongoDB是一個高效能,開源,無模式的文檔型資料庫,是當前NoSql資料庫中比較熱門的一種。它在許多情境下可用於替代傳統的關係型資料庫或鍵/值儲存方式。Mongo使用C++開發。
MongoDB是一個介於關聯式資料庫和非關聯式資料庫之間的產品,是非關聯式資料庫當中功能最豐富,最像關聯式資料庫的。他支援的資料結構非常鬆散,是類似json的bson格式,因此可以儲存比較複雜的資料類型。Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似於物件導向的查詢語言,幾乎可以實作類別似關聯式資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。
mongodb特點
它的特點是高效能、易部署、易使用,儲存資料非常方便。主要功能特性有:
*面向集合儲存,易儲存物件類型的資料。
mongodb叢集參考
mongodb叢集參考
*模式自由。
*支援動態查詢。
*支援完全索引,包含內部對象。
*支援查詢。
*支援複製和故障恢複。
*使用高效的位元據儲存,包括大型物件(如視頻等)。
*自動處理片段,以支援雲端運算層次的擴充性。
*支援RUBY,PYTHON,JAVA,C++,PHP,C#等多種語言。
*檔案儲存體格式為BSON(一種JSON的擴充)。
*可通過網路訪問。
下面為大家介紹下在CentOS7上使用yum倉庫安裝mongodb資料庫
配置yum倉庫
vim /etc/yum.repos.d/mongodb-org.repo
[mongodb-org]name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
配置好yum倉庫之後,使用yum list 進行載入
yum list
使用yum倉庫安裝monggodb
yum install -y mongodb-org
修改mongodb的設定檔
port: 27017 //監聽連接埠 bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces. //監聽的地址修改為0.0.0.0,監聽所有地址
關閉防火牆及SElinux
systemctl stop firewalld.servicesetenforce 0
開啟mongodb資料庫服務
systemctl start mongod.servicenetstat -ntap | grep 27017tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 17001/mongod
進入資料庫
/usr/bin/mongo
MongoDB shell version v3.6.6
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.6
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten] WARNING: Access control is not enabled for the database.
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten] Read and write access to data and configuration is unrestricted.
2018-07-16T22:26:41.343+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten] WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always‘.
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten] We suggest setting it to ‘never‘
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten] WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always‘.
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten] We suggest setting it to ‘never‘
2018-07-16T22:26:41.344+0800 I CONTROL [initandlisten]
>
mongodb開啟多執行個體
cp -p /etc/mongod.conf /etc/mongod2.conf #複製產生第二個執行個體的設定檔mkdir -p /data/mongodb/cd /data/mongodb/mkdir mongo #建立資料存放檔案touch mongod2.log #建立記錄檔chmod 777 mongod2.log #給予許可權 vim /etc/mongod2.conf #修改第二個執行個體的設定檔path: /data/mongodb/mongod2.log #記錄檔地址dbPath: /data/mongodb/mongo #資料檔案地址port: 27018 #監聽連接埠
mongod -f /etc/mongod2.conf #開啟多執行個體 mongo --port 27018 #指定第二個執行個體的連接埠 > #這樣就進入第二個執行個體了
mongodb基本操作
> db.version() #查看mongodb的版本資訊 3.6.6> show dbs; #查看錶空間admin 0.000GBconfig 0.000GBlocal 0.000GB > db.getMongo() #查看當前資料庫機器的串連地址和連接埠資訊connection to 127.0.0.1:27017 > use school; #不存在會建立,不建立集合又會刪除switched to db school > db.createCollection(‘info‘) #建立集合info{ "ok" : 1 } > db.info.insert({"id":1,"name":"zhangsan"}) #集合插入資料 WriteResult({ "nInserted" : 1 })> db.info.insert ({"name":"zhangsan","scorce":88,"hobby":["game","talk","sport"]}) #集合插入第二個資料> db.info.find() #查看集合info空間{ "_id" : ObjectId("5b4cb18a472dfe3e1ca25d34"), "id" : 1, "name" : "zhangsan" }
基於CentOS7搭建mongodb(3.6.6版本)