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/