我正在将我的 mongo 数据移动到另一个驱动器。我要移动的所有数据都存储在 /data/db 中,我将其移动到 NAS(网络附加存储)。
第一步:
mongodump -d mydb -c mycollection -o nas/mongo-temp
这在 mongo-temp/ 中创建了一个文件树,如下所示:
dump
`-- mydb
`-- mycollection.bson
1 directory, 1 file
然后我停止了 mongod 服务并创建了一个新的 /data/db 目录:
/etc/init.d/mongod stop
mkdir mongo-temp/data/db
...并更改 /etc/mongodb.conf 中的 dbpath 行
dbpath=.../mongo-temp/data/db
我使用/etc/init.d/mongod start
.
当我尝试连接时:
mongo
MongoDB shell version: 1.6.4
Thu May 3 09:53:23 *** warning: spider monkey build without utf8 support. consider rebuilding with utf8 support
connecting to: test
Thu May 3 09:53:24 Error: couldn't connect to server 127.0.0.1 (anon):1154
exception: connect failed
我尝试使用该命令启动 mongod,mongod --dbpath .../mongo-temp/data/db
但我收到一条错误消息:
Thu May 3 09:57:26 exception in initAndListen std::exception: Unable to acquire lock for lockfilepath: /home/dlpstats/nas-mnt/mongo-temp/data/db/mongod.lock
删除锁定文件没有帮助。如果我在没有 --dbpath 的情况下运行 mongod 命令,则服务器可以正常启动,并且我可以对旧数据库进行查询。