【发布时间】:2016-02-28 00:41:39
【问题描述】:
我使用cbbackup 备份couchbase。然后对数据库做一些操作,比如添加和删除文档。操作完成后,我想放弃所有操作,将db恢复到备份状态。
我做了以下测试。 cbbackup 和 cbrestore 在我的测试期间没有帮助。如何实现我的目标?
-
备份数据库
$ rm -rf /tmp/cbbackup $ /opt/couchbase/bin/cbbackup http://cb_ip:8091 /tmp/cbbackup -u 'xxx' -p '***' -v -
记住社交桶的项目数。
- 计数:33
- 从社交桶中删除一个文档
- 删除 id:existing-item-110
- 向社交桶添加两个新文档
- ID:new-item-1、new-item-2
- 记住社交桶的项目数。
- 计数:34
-
恢复社交桶
$ /opt/couchbase/bin/cbrestore /tmp/cbbackup http://cb_ip:8091 -u 'xxx' -p '***' -b mybucket -v -
验证删除的文档是否返回以及添加的文档是否已删除。
- 结果:计数:34,无变化
- 已删除的项目未返回。
- 添加的项目不会被删除。
结论:cbrestore 无法将数据库恢复到备份时间点。备份时间点之后的更改不会被删除。
-
使用 cbtransfer 恢复数据。结果和结论与cbrestore相同。
$ /opt/couchbase/bin/cbtransfer /tmp/cbbackup http://cb_ip:8091 -u 'xxx' -p '***' -b mybucket -v
【问题讨论】:
标签: couchbase database-restore