2011-09-09 43 views
2

对于Linux系统,我从couchdb 0.10.0备份了一个旧数据库,基本上是/ var/lib/couchdb目录的tar归档文件。从0.10.0迁移couchdb数据?

将数据转换为couchdb 1.0.1所需格式的步骤是什么?如果我简单地将文件恢复到原始位置,则不会找到它们。如果我把它们放在/var/lib/couchdb/1.0.1,我得到以下错误:

{"error":"kill","reason":"{gen_server,call,\n [couch_server,\n  {open,<<\"test\">>,\n   [{user_ctx,\n    {user_ctx,null,\n     [<<\"_admin\">>],\n     <<\"{couch_httpd_auth, default_authentication_handler}\">>}}]},\n  infinity]}"} 

(在这种情况下,数据库名为test.couch,我在/ var放在test.couch/lib/couchdb/1.0.1/test.couch并尝试从URL打开它:http://localhost:5984/test/

编辑:oops,解决方案非常明显。复制是正确的,但我忘了更改权限。

因此,要还原备份的数据库的CouchDB,所有需要的是:

sudo chown couchdb:couchdb backup/test.couch 
sudo mv backup/test.couch /var/lib/couchdb/1.0.1 

回答

4

你可以尝试0.10和1.0.1服务器之间复制虽然我敢肯定,1.0.1可以读取0.10数据库。在couch.log中有更多的信息吗?

+1

你是对的。只是忘了检查权限。 – amarillion