Python 与数据库建立连接时出现的问题
平台:LINUX 我是MongoDB和pymongo的初学者。安装pymongo后,我在ipython上做了一个简单的测试:Python 与数据库建立连接时出现的问题,python,linux,mongodb,pymongo,Python,Linux,Mongodb,Pymongo,平台:LINUX 我是MongoDB和pymongo的初学者。安装pymongo后,我在ipython上做了一个简单的测试: import pymongo client = pymongo.MongoClient(); # Also tried to specify the local host and port number db = client['myDB'] collections = db['temptables'] collections.insert({'a':'1'}) 在这一
import pymongo
client = pymongo.MongoClient();
# Also tried to specify the local host and port number
db = client['myDB']
collections = db['temptables']
collections.insert({'a':'1'})
在这一点上,它窒息了。最后,抛出一个“错误111:连接被拒绝”错误。因此,我尝试直接从终端调用MongoDB,但仍然出现下面的错误[看看远端]。因此,我搜索了一下并尝试:
017-08-17T15:25:30.265-0700 W网络[thread1]无法连接到127.0.0.1:27017,in(轮询后检查套接字是否出错),原因:连接被拒绝 2017-08-17T15:25:30.265-0700 E查询[thread1]错误:无法连接到服务器127.0.0.1:27017,连接尝试失败: connect@src/mongo/shell/mongo.js:237:13 @(连接):1:6 异常:连接失败
请提供帮助。您的mongo服务器未运行 您可以通过执行
sudo ps-ef | grep mongod
如果您已安装mongo并在路径中,则可以执行:
cd && mkdir -p ~/temp_mongo_db && mongod --dbpath=./temp_mongo_db
这将启动mongo并将所有数据库文件放在主目录中的“temp_mongo_db”下
最后,在新的终端窗口中,再次执行sudo ps-ef | grep mongod
。现在您将看到mongod正在跑步
如果要在生产环境中运行mongo,应该将其配置为由或其他某个init系统管理 听起来mongo没有跑。执行
sudo ps-ef | grep mongo
会得到什么?可能更重要的是,您从未真正安装过MongoDB数据库。这是一个很常见的误解,很可能是真的。PyMongo就是我们所说的“数据库驱动程序”或与数据库服务通信的软件。因此,要使用MongoDB,您实际上需要的是服务,而不仅仅是“驱动程序”。请参阅手册中有关您特定平台的说明。谢谢,我已经安装了mongodb;通过运行mongod--version
确认。是的,这确实让mongo服务器运行!我可以和服务器通信了,谢谢。但是,看起来我总是必须在一个终端中执行:cd&&mkdir-p~/temp\u mongo\u db&&mongod--dbpath=/temp\u mongo\u db
,并在另一个终端中与服务器通信?我是否可以创建一个数据库文件,然后开始创建表并填充它们,就像我们对sqlite3所做的那样?@jsk Mongo是一个服务器,因此与sqlite的工作方式不同。你在使用什么linux操作系统?有一种方法可以将它设置为在后台运行并在启动时启动。我在Ubuntu上。@jsk checkout