基於CentOS7搭建mongodb(3.6.6版本)

基於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=1
enabled=1
gpgkey=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.service
setenforce 0

開啓mongodb數據庫服務

systemctl start mongod.service
netstat -ntap | grep 27017
tcp        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.000GB
config  0.000GB
local   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" }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章