相关疑难解决方法(0)

MongoDB的默认数据库路径是什么?

我收到一个错误dbpath (/data/db/) does not exist,但/etc/mongodb.conf命名为dbpath = /var/lib/mongodb. So,这是MongoDB的默认dbpath?

mongodb

59
推荐指数
6
解决办法
14万
查看次数

如何在Windows 7中为mongoDB设置默认dbpath?

我刚刚在我的windows机器上安装了mongoDB

MongoDB version       : Windows 64-bit 2008 R2+ release 3.0.4
OS Version            : Microsoft Windows 7 Ultimate 64-bit
Installation Directory: "C:\Program Files\MongoDB"
Run Code Online (Sandbox Code Playgroud)

我没有在默认情况下创建数据库,而是C:\data\db\在安装目录中创建了一个目录,即C:\Program Files\MongoDB\data\db.现在我可以mongod通过命令运行服务器了

mongod --dbpath "C:\Program Files\MongoDB\data\db"
Run Code Online (Sandbox Code Playgroud)

如果我只运行mongod它会抛出异常说

[initandlisten] exception in initAndListen: 29 Data directory C:\data\db\ not found., terminating
Run Code Online (Sandbox Code Playgroud)

所以,显然默认的dbpath设置为C:\data\db\.每次运行mongod时,我都要明确指定--dbpath

有没有办法覆盖默认dbpath值?我尝试过这个答案,解决了这个问题.但由于没有默认mongod.cfg文件,现在我必须调试命令:

mongod --config "C:\Program Files\MongoDB\mongod.cfg"
Run Code Online (Sandbox Code Playgroud)

哪个没有多大帮助,因为现在我必须--config每次都明确指定.我想做的只是键入mongod,每次我想启动mongo服务器.如何才能做到这一点?

windows mongodb

9
推荐指数
2
解决办法
2万
查看次数

docker备份和恢复mongodb

仅创建数据容器:

docker create -v /mongodb_data --name mongodb_data mongo
Run Code Online (Sandbox Code Playgroud)

创建monogdb容器:

docker run --volumes-from mongodb_data --name mongo_db --restart always -d mongo
Run Code Online (Sandbox Code Playgroud)

然后在我自己的容器中使用mongodb我使用link命令:

--link mongo_db:mongo
Run Code Online (Sandbox Code Playgroud)

所以一切正常.现在我想根据文档备份mongodb:http://docs.docker.com/userguide/dockervolumes/#backup-restore-or-migrate-data-volumes和这个命令:

docker run --volumes-from mongodb_data -v $(pwd):/backup busybox tar cvf /backup/backup.tar /mongodb_data
Run Code Online (Sandbox Code Playgroud)

但是,创建的tar文件只有一个空/mongodb_data文件夹.该文件夹不包含单个文件.

任何想法都错了吗?我在ubuntu 14.04 LTS上使用docker 1.7.

mongodb docker

8
推荐指数
1
解决办法
5571
查看次数

更改dbpath后Mongodb服务器未启动

我更改了 mongodb 的 dbpath,并将先前 dbpath 文件夹的内容移到了新文件夹中。但是服务器没有启动。在调查 mongodb 日志后,我发现以下异常:

016-05-23T10:50:51.697+0000 I STORAGE [initandlisten] initAndListen 异常 std::exception: boost::filesystem::status: 权限被拒绝: "/media/user/Shared/mongodb/storage.bson",终止

我在这里找到了一个类似的问题,但它没有帮助我解决问题。这是我的dbpath文件夹和storage.bson文件的当前权限:

-rwxrwxrwx 1 mongodb mongodb         69    May 23 08:57 storage.bson*
drwxrwxrwx 3 mongodb mongodb         4096  May 23 09:04 mongodb/
Run Code Online (Sandbox Code Playgroud)

我确实尝试删除锁定文件(/var/lib/mongodb/mongod.lock),但它也没有帮助我。

顺便说一句,我正在使用MongoDB v3.0.8版本并通过 sudo service mongodb start 启动它

mongodb

5
推荐指数
1
解决办法
2203
查看次数

将实时 mongodb 数据重新定位到另一个驱动器

我有一个在 windows azure linux vm 上运行的 mongodb,

数据库位于系统驱动器上,我希望将其移动到另一个硬盘驱动器,因为那里没有足够的空间。

我发现了这篇文章: 更改 MongoDB 数据存储目录

这些似乎是那里建议的一个很好的解决方案,但是还有另一个人提到了有关复制文件的内容,

我的数据库是实时的并且一直在获取数据,我怎样才能在丢失最少数据的情况下进行这个过程?

谢谢,

linux azure mongodb

3
推荐指数
1
解决办法
2829
查看次数

标签 统计

mongodb ×5

azure ×1

docker ×1

linux ×1

windows ×1