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/