首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb取回所有数据库

Mongodb取回所有数据库
EN

Stack Overflow用户
提问于 2015-05-11 06:11:46
回答 1查看 363关注 0票数 0

昨天我把Ubuntu14.10升级到15.04。但这让我停止了工作。我在研究chicagoboss和mongodb。我看到mongodb崩溃了。通过输入内容,mongo得到了以下错误:

代码语言:javascript
复制
$ mongo
MongoDB shell version: 2.4.10
connecting to: test
Mon May 11 11:26:32.985 Error: couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145
exception: connect failed

跟随stackoverflow query并删除.lock文件。然后试着用

代码语言:javascript
复制
$sudo mongod --repair 

然后得到一个错误:

代码语言:javascript
复制
*********************************************************************
 ERROR: dbpath (/data/db/) does not exist.
 Create this directory or give existing directory in --dbpath.
 See http://dochub.mongodb.org/core/startingandstoppingmongo
*********************************************************************

我注意到,在我的mongodb.conf文件中,dbpath/var/lib/mongodb。这是正确的,在找到所有mongodb databases.So时,我尝试将dbpath设置到相同的位置,但得到了错误:

代码语言:javascript
复制
$ mongod --dbpath "/var/lib/mongodb"
Mon May 11 11:33:18.607 [initandlisten] MongoDB starting : pid=4450 port=27017 dbpath=/var/lib/mongodb 64-bit host=laxmikant-alphonso
Mon May 11 11:33:18.607 [initandlisten] db version v2.4.10
Mon May 11 11:33:18.607 [initandlisten] git version: e3d78955d181e475345ebd60053a4738a4c5268a
Mon May 11 11:33:18.607 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Mon May 11 11:33:18.607 [initandlisten] allocator: tcmalloc
Mon May 11 11:33:18.607 [initandlisten] options: { dbpath: "/var/lib/mongodb" }
Mon May 11 11:33:18.607 [initandlisten] exception in initAndListen: 10309 Unable to create/open lock file: /var/lib/mongodb/mongod.lock errno:13 Permission denied Is a mongod instance already running?, terminating
Mon May 11 11:33:18.607 dbexit: 
Mon May 11 11:33:18.607 [initandlisten] shutdown: going to close listening sockets...
Mon May 11 11:33:18.607 [initandlisten] shutdown: going to flush diaglog...
Mon May 11 11:33:18.607 [initandlisten] shutdown: going to close sockets...
Mon May 11 11:33:18.607 [initandlisten] shutdown: waiting for fs preallocator...
Mon May 11 11:33:18.607 [initandlisten] shutdown: lock for final commit...
Mon May 11 11:33:18.607 [initandlisten] shutdown: final commit...
Mon May 11 11:33:18.607 [initandlisten] shutdown: closing all files...
Mon May 11 11:33:18.608 [initandlisten] closeAllFiles() finished
Mon May 11 11:33:18.608 [initandlisten] shutdown: removing fs lock...
Mon May 11 11:33:18.608 [initandlisten] couldn't remove fs lock errno:9 Bad file descriptor
Mon May 11 11:33:18.608 dbexit: really exiting now

我该如何解决这个问题。我想要回我所有的数据库。

此外,我还检查了service start的以下错误

代码语言:javascript
复制
$ sudo service mongodb start
Failed to start mongodb.service: Unit mongodb.service failed to load: No such file or directory.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-11 06:18:26

代码语言:javascript
复制
$ mongod --dbpath "/var/lib/mongodb"

在这种情况下,您可以自己启动mongodb。而且您可能没有数据目录的R/W权限。

代码语言:javascript
复制
$ sudo service mongodb start

现在,您可以将mongodb作为服务启动,它可能会将其标识从根更改为"mongo“或类似的东西。在类似debian的系统上,mongodb的配置是在/etc/init/mongodb.conf中,最好是在/etc/mongodb.conf中。见http://packages.ubuntu.com/utopic/amd64/mongodb-server/filelist。在那里你可以change the database path

顺便检查一下数据目录的权限。用户“mongo”-或者任何东西-应该有写入访问权限:

代码语言:javascript
复制
$ ls -l /var/lib/mongodb
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30160666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档