《聊聊mongodb》系列一 認識mongodb及環境安裝與配置

非關係數據庫和關係型數據庫的區別是什麼?mongodb

  • 實質:非關係型數據庫的實質:非關係型數據庫產品是傳統關係型數據庫的功能閹割版,經過減小用不到或不多用的功能,來大幅度提升產品性能。
  • 價格:目前的非關係型數據庫基本都是免費的,而比較有名氣的關係型數據庫都是收費的,好比:Oracle、DB二、MSSQL。MySql雖然是免費的,可是處理大型數據仍是要提早做不少工做的。
  • 功能:實際開發中,不少業務需求,其實並不須要完整的關係型數據庫功能,非關係型數據庫的功能就足夠使用了。這種狀況下,使用性能更高、成本更低的非關係型數據庫固然是更明智的選擇。

1、MongoDB簡介:

MongoDB是一個基於分佈式文件存儲的數據庫,由C++語言編寫。目的是爲WEB應用提供擴展的高性能的數據存儲解決方案。MongoDB是一個介於關係型數據庫和非關係型數據庫之間的產品,是非關係型數據庫當中功能最豐富,最像關係數據庫的。他支持的數據結構很是鬆散,是相似json的bson格式,所以能夠存儲比較複雜的數據類型。Mongo最大的特色是他支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,幾乎能夠實現相似關係數據庫單表查詢的絕大部分功能,並且還支持對數據創建索引。

2、mongoDB安裝

如下用centos作相關演示,主要參考的是官方的安裝文檔,這裏簡單的總結一下shell

一、查看當前服務器版本號數據庫

[root@izm5e2us6ou03c7io5v991z ~]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)

二、Create a /etc/yum.repos.d/mongodb-org-3.6.repo file so that you can install MongoDB directly, using yum.json

[root@izm5e2us6ou03c7io5v991z ~]# sudo vi /etc/yum.repos.d/mongodb-org-3.6.repo

[mongodb-org-3.6]
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安裝當前最新的穩定版centos

[root@izm5e2us6ou03c7io5v991z ~]# sudo yum install -y mongodb-org

下面是安裝成功的圖片安全

圖片描述

四、啓動mongodb服務器

[root@izm5e2us6ou03c7io5v991z ~]# sudo service mongod start

五、服務器進入mongo微信

[root@izm5e2us6ou03c7io5v991z ~]# mongo --host 127.0.0.1:27017
MongoDB shell version v3.6.5
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.5
>
>

六、建立管理員帳號而且查看是否建立成功數據結構

[root@izm5e2us6ou03c7io5v991z ~]# mongo --host 127.0.0.1:27017
MongoDB shell version v3.6.5
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.5
>use admin
>db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
>db.auth("useradmin", "adminpassword")//若是返回1,則表示成功

mongodb中的用戶是基於身份role的,該管理員帳戶的 role是 userAdminAnyDatabase分佈式

七、上一步若是驗證失敗,能夠修改配置,而且重啓mongodb,而後再次登錄驗證便可

[root@izm5e2us6ou03c7io5v991z ~]# sudo vi /etc/mongod.conf

//此處去掉security前面註釋,而且加上下面一句話
security:
  authorization: enabled
  
//重啓mongodb
[root@izm5e2us6ou03c7io5v991z ~]# sudo service mongod restart

[root@izm5e2us6ou03c7io5v991z ~]# mongo --host 127.0.0.1:27017
MongoDB shell version v3.6.5
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.5
>use admin
>db.createUser({ user: "useradmin", pwd: "adminpassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
>db.auth("useradmin", "adminpassword")
1

八、mac推薦客戶端連接工具《Robomongo》
這裏連接須要注意,由於我服務器是阿里雲服務器,默認沒有開啓27017端口,因此要去安全組配置。
同時,mongodb的配置文件中的bind_ip 默認爲127.0.0.1,默認只有本機能夠鏈接。 此時,須要將bind_ip配置爲0.0.0.0,表示接受任何IP的鏈接(修改mongo.conf文件sudo vi /etc/mongo.conf)

以上就是今天全部的內容了,更多精彩的文章,歡迎你們關注個人微信公衆號:喝醉的清茶

相關文章
相關標籤/搜索