2011-09-09 73 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