我收到一个错误dbpath (/data/db/) does not exist,但/etc/mongodb.conf命名为dbpath = /var/lib/mongodb.
So,这是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服务器.如何才能做到这一点?
仅创建数据容器:
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 的 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 启动它
我有一个在 windows azure linux vm 上运行的 mongodb,
数据库位于系统驱动器上,我希望将其移动到另一个硬盘驱动器,因为那里没有足够的空间。
我发现了这篇文章: 更改 MongoDB 数据存储目录
这些似乎是那里建议的一个很好的解决方案,但是还有另一个人提到了有关复制文件的内容,
我的数据库是实时的并且一直在获取数据,我怎样才能在丢失最少数据的情况下进行这个过程?
谢谢,