Skip to content

CouchDB - 删除数据库

在CouchDB中,删除数据库是一个不可逆的操作,它会移除数据库及其所有文档(documents)、视图(views)和附件(attachments)。此操作应谨慎执行。我们将探讨如何使用命令行 cURL 工具和现代Web界面 Fauxton 来完成此操作。

CouchDB的现代版本(3.x及更高版本)默认是安全的。所有请求,包括删除数据库,都需要管理员凭证。在这些示例中,我们将假设您有一个名为 admin、密码为 password 的管理员用户。您应该在设置时已配置好这些信息。

您可以通过向数据库的端点(endpoint)发送HTTP DELETE 请求来删除数据库。cURL 工具是执行此操作的强大工具。

基本语法如下:

curl -u YOUR_ADMIN_USER:YOUR_ADMIN_PASSWORD -X DELETE http://127.0.0.1:5984/your_database_name

我们来分解一下这个命令:

  • -u YOUR_ADMIN_USER:YOUR_ADMIN_PASSWORD 指定了用于基础认证(Basic Authentication)的凭证。这是现代、安全的认证方式。
  • -X DELETE 指定我们正在发送一个HTTP DELETE请求。
  • http://127.0.0.1:5984/your_database_name 是您希望删除的数据库的完整URL。

假设我们有一个名为 test_db 的数据库要删除。命令如下:

$ curl -u admin:password -X DELETE http://127.0.0.1:5984/test_db
{
"ok": true
}

服务器成功响应是一个简单的 JSON 对象:{"ok": true}。这确认数据库已被永久删除。

要验证数据库是否已删除,您可以请求所有数据库的列表。已删除的数据库 test_db 应该不再列表中显示。

$ curl -u admin:password -X GET http://127.0.0.1:5984/_all_dbs
["_global_changes", "_replicator", "_users"]

如果您尝试删除一个不存在的数据库,您将收到一个 404 Not Found 错误:

{"error":"not_found","reason":"Database does not exist."}

如果您的凭证错误或未提供,您将收到一个 401 Unauthorized 错误:

{"error":"unauthorized","reason":"You are not a server admin."}

Fauxton 是 CouchDB 的官方Web界面,提供了一种用户友好的方式来管理您的数据库。旧版界面 Futon 已不再使用。

请按照以下步骤使用 Fauxton 删除数据库:

    1. 打开您的Web浏览器,访问 Fauxton 地址 http://127.0.0.1:5984/_utils/。系统将提示您使用管理员凭证登录。
    1. 登录后,点击左侧导航面板中的“数据库”图标(看起来像一叠圆柱体)。
    1. 这将显示您的所有数据库列表。在列表中找到您想要删除的数据库(例如,test_db)。
    1. 在数据库名称的右侧,您会看到几个图标。点击垃圾桶图标以开始删除操作。
    1. 此时将出现一个确认对话框,以防止意外删除。它会要求您键入数据库名称进行确认。键入数据库名称,然后点击“删除”按钮。
    1. 数据库将从列表中移除,确认其已被删除。