MongoDB 服务器配置
MongoDB Server Configuration
我的本地主机上有一个 MongoDB 服务器 运行ning。我写了一个简单的 Python 程序,它 reads/writes 使用 "localhost" 到数据库;但是,我想让其他客户端访问我的 MongoDB 服务器。现在,我不关心访问安全性,并且想向任何人授予访问权限。我应该如何配置 Mongo 服务器来执行此操作?
这是连接本地主机的简单程序。
from pymongo import MongoClient
connection = MongoClient("Localhost")
db = connection.hockey.players
results = db.find()
print()
print('+-+-+-+-+-+-+-+-+-+-+-+-+-+-')
for record in results:
print(record['name'] + ',',record['position'])
connection.close()
我收到的错误消息:
文件 "C:/Users/Peter/PycharmProjects/Test/helloWorld.py",第 8 行,位于
用于记录结果:
文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 1097 行,在接下来
如果 len(self.__data) 或 self._refresh():
文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 1019 行,在 _refresh self.__read_concern))
文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 850 行,在 __send_message **kwargs 中)
文件 "C:\Python34\lib\site-packages\pymongo\mongo_client.py",第 777 行,在 _send_message_with_response 服务器 = topology.select_server(选择器)中
文件 "C:\Python34\lib\site-packages\pymongo\topology.py",第 142 行,地址 select_server))
文件 "C:\Python34\lib\site-packages\pymongo\topology.py",第 118 行,在 select_servers self._error_message(选择器)中
pymongo.errors.ServerSelectionTimeoutError: x.y.z.w:27017: 超时
Process finished with exit code 1
下面是我当前的本地主机设置,如果我 运行 在托管 Mongo 数据库的客户端上,它可以正常工作。 Current setup
谢谢
向他们提供您的 IP 地址和端口号(默认值:27017)以连接到您的服务器。同时将 mongod.conf
文件中的 bindIp
编辑为 bindIp: 0.0.0.0
。要求他们使用类似以下内容连接到您的数据库:
from pymongo import MongoClient
connection = MongoClient("mongodb://your_ip:yourport")
如果您在 windows,请创建配置文件 mongod.cfg
。并将条目添加为
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
net:
bindIp: 0.0.0.0
port: 27017
确保您已经创建了 log
和 db
文件夹,或者更改数据和日志文件夹所在的路径。
通过指定 thr 配置文件启动 mongodb。
确认您的本地接口已启动。它应该解释超时。
ifup lo
我的本地主机上有一个 MongoDB 服务器 运行ning。我写了一个简单的 Python 程序,它 reads/writes 使用 "localhost" 到数据库;但是,我想让其他客户端访问我的 MongoDB 服务器。现在,我不关心访问安全性,并且想向任何人授予访问权限。我应该如何配置 Mongo 服务器来执行此操作?
这是连接本地主机的简单程序。
from pymongo import MongoClient
connection = MongoClient("Localhost")
db = connection.hockey.players
results = db.find()
print()
print('+-+-+-+-+-+-+-+-+-+-+-+-+-+-')
for record in results:
print(record['name'] + ',',record['position'])
connection.close()
我收到的错误消息: 文件 "C:/Users/Peter/PycharmProjects/Test/helloWorld.py",第 8 行,位于 用于记录结果: 文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 1097 行,在接下来 如果 len(self.__data) 或 self._refresh(): 文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 1019 行,在 _refresh self.__read_concern)) 文件 "C:\Python34\lib\site-packages\pymongo\cursor.py",第 850 行,在 __send_message **kwargs 中) 文件 "C:\Python34\lib\site-packages\pymongo\mongo_client.py",第 777 行,在 _send_message_with_response 服务器 = topology.select_server(选择器)中 文件 "C:\Python34\lib\site-packages\pymongo\topology.py",第 142 行,地址 select_server)) 文件 "C:\Python34\lib\site-packages\pymongo\topology.py",第 118 行,在 select_servers self._error_message(选择器)中 pymongo.errors.ServerSelectionTimeoutError: x.y.z.w:27017: 超时
Process finished with exit code 1
下面是我当前的本地主机设置,如果我 运行 在托管 Mongo 数据库的客户端上,它可以正常工作。 Current setup
谢谢
向他们提供您的 IP 地址和端口号(默认值:27017)以连接到您的服务器。同时将 mongod.conf
文件中的 bindIp
编辑为 bindIp: 0.0.0.0
。要求他们使用类似以下内容连接到您的数据库:
from pymongo import MongoClient
connection = MongoClient("mongodb://your_ip:yourport")
如果您在 windows,请创建配置文件 mongod.cfg
。并将条目添加为
systemLog:
destination: file
path: c:\data\log\mongod.log
storage:
dbPath: c:\data\db
net:
bindIp: 0.0.0.0
port: 27017
确保您已经创建了 log
和 db
文件夹,或者更改数据和日志文件夹所在的路径。
通过指定 thr 配置文件启动 mongodb。
确认您的本地接口已启动。它应该解释超时。
ifup lo