MongoDB3.4遠程連接

1. MongoDB簡介:

  MongoDB是一個基於分佈式文件存儲的數據庫。由C++語言編寫。旨在爲WEB應用提供可擴展的高性能數據存儲解決方案。它是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。MongoDB中的一條記錄就是一個文檔,是一個數據結構,由字段和值對組成。MongoDB文檔與JSON對象類似。字段的值有可能包括其它文檔、數組以及文檔數組。

2. MongoDB安裝(CentOS7):
詳見 http://blog.csdn.net/jssg_tzw/article/details/53437430

3. MongoDB配置遠程連接(以CentOS爲例):

(1) 啓動mongod服務:

systemctl start mongod

(2) 查看數據庫版本:

[root@aliyun ~]# mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
> use admin
switched to db admin
> db.system.version.find()
{ "_id" : "featureCompatibilityVersion", "version" : "3.4" }
{ "_id" : "authSchema", "currentVersion" : 5 }

如果是如上結果,因爲數據庫版本不一致,遠程連接時會出現Authorization failed錯誤。
解決方法:

> db.system.version.update({"_id":"authSchema"},{$set:{"currentVersion":3}})

如果是如下結果,則添加一條記錄:

[root@aliyun ~]# mongo
MongoDB shell version v3.4.7
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.7
> use admin
switched to db admin
> db.system.version.find()
{ "_id" : "featureCompatibilityVersion", "version" : "3.4" }
> db.system.version.insert({"_id":"authSchema","currentVersion":3})
WriteResult({ "nInserted" : 1 })
> db.system.version.find()
{ "_id" : "featureCompatibilityVersion", "version" : "3.4" }
{ "_id" : "authSchema", "currentVersion" : 3 }

(3) 添加用戶:

> db.createUser({user:"admin",pwd:"123456",roles:[{"role":"userAdminAnyDatabase","db":"admin"},{"role":"readWrite","db":"test"}]})


Successfully added user: {
    "user" : "admin",
    "roles" : [
        {
            "role" : "userAdminAnyDatabase",
            "db" : "admin"
        },
        {
            "role" : "readWrite",
            "db" : "test"
        }
    ]
}

(4) 修改配置文件:

# bindIp: 127.0.0.1 那一行可以註釋掉,也可以修改爲如下所示:

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0  # Listen to local interface only, comment to listen on all interfaces.

# 遠程連接數據庫驗證,舊版本爲auth = true
security:
    authorization: enabled

(5) 重啓mongod服務並開放27017端口:

systemctl restart mongod
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 27017 -j ACCEPT

(6) 測試連接:

命令行方式:

這裏寫圖片描述

客戶端方式:

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述


Note: 如果是租用的服務器,記得在安全組配置規則(出入方向):

這裏寫圖片描述


MongoDB教程: http://www.runoob.com/mongodb/mongodb-tutorial.html

MongoDB中文社區: http://www.mongoing.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章