首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从我的服务器上删除CouchDB1.x,重新安装CouchDB3.x,如何使具有.couch扩展名的旧文件使用它?

从我的服务器上删除CouchDB1.x,重新安装CouchDB3.x,如何使具有.couch扩展名的旧文件使用它?
EN

Stack Overflow用户
提问于 2021-02-27 13:23:27
回答 1查看 157关注 0票数 1

早上好。

我们已经在我们的Ubuntu (18.04)服务器上运行couchdb相当一段时间了,没有问题。不幸的是,IT部门最近执行了许多更新,这些更新扰乱了服务器上的许多事情。我们已经成功地恢复并运行了其中的大部分,但是我们仍然在与couchdb进行斗争。

我们的Python烧瓶网站没有加载,错误日志显示它无法访问couchdb。经过调查,我们意识到couchdb被从服务器上完全删除了。

我们重新安装了couchdb,但是安装的版本是version 3,根据安装过程中得到的提示,我们在/var/lib/couchdb中的文件用于版本1,他们建议使用复制器工具将它们升级到版本3。

我们一直试图通过跟踪本指南这一个来做到这一点,但没有成功。我可能错了,因为我不是couchdb专家,但问题似乎是,这些教程告诉我们如何从已经运行的couchdb复制数据库,而这一点我们没有时间(只有新安装的版本中没有数据库)。

目前,Python烧瓶能够连接到couchdb (新安装的一个),但是找不到任何数据库,当尝试使用couchdb命令手动访问数据库时,只会提示我们:

代码语言:javascript
复制
{"error":"not_found","reason":"Database does not exist."}

我们备份了couchdb文件,它们看起来像一堆具有.couch扩展名的文件。它们还在/var/lib/couchdb中。

问题是,如何使这些.couch文件与我们新安装的couchdb版本一起工作?

提前感谢任何能帮忙的人。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-03 11:17:33

我终于做到了,这就是我的方法:

我在虚拟机上安装了一个较旧版本的Ubuntu服务器(我使用了VirtualBox),并安装了CouchDB1.6。我使用.couch手动将FileZilla文件添加到/var/lib/couchdb中。我测试了一切都很好,而且确实如此。

之后,我将CouchDB1.6升级到CouchDB2.3,并使用了couchdb 2附带的couchup工具(注意couchdb 2和3需要设置管理密码)。此页展示了如何使用它。couchup脚本位于/opt/couchdb/bin中。

我导航到这个文件夹并运行了以下命令:

代码语言:javascript
复制
$ python couchup list                                             # Shows your unmigrated 1.x databases
$ python couchup replicate -a --login admin --password password   # Replicates your 1.x DBs to 2.x
$ python couchup rebuild -a --login admin --password password     # Optional; starts rebuilding your views
$ python couchup delete -a --login admin --password password      # Deletes your 1.x DBs (careful!)
$ python couchup list                                             # Should show no remaining databases!

结果是CouchDB2.x数据库在couchdb 3中工作得很好,所以不需要其他任何东西。我将复制的数据库上传到我部署的服务器上,它马上就能工作了。

信息:请注意,使用couchdb 1,您创建的每个数据库都显示为一个文件。(例如db1.沙发、db2.沙发等),但是对于couchdb 2和3,它们都位于文件_dbs.couch中(您可能希望传输/var/lib/couchdb中的碎片、_users.couch和其他文件,以确保一切正常工作)。

信息2:默认情况下,couchup实用程序只安装在couchdb 2中,如果直接跳转到couchdb 3,就不会使用它。然而,couchup只是一个python脚本,我相信可以从这个github页面下载它,所以您甚至可能不需要安装couchdb 2(我还没有这样做,所以没有保证)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66399237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档