本页面介绍了 Spanner 恢复操作以及如何恢复数据库。如需详细了解 Spanner 中的数据库恢复,请参阅恢复概览。
您可以通过以下方式恢复 Spanner 数据库:
准备工作
此页面上的 gcloud CLI 示例做出了以下假设:
- 您已设置 gcloud CLI 以便与 Spanner 搭配使用。如果您不熟悉如何将 Google Cloud CLI 与 Spanner 搭配使用,请参阅 Spanner 使用入门(使用 Google Cloud CLI)。
您已经为项目配置了 Google Cloud CLI。例如:
gcloud config set core/project PROJECT_ID
您有一个名为
test-instance
的实例和一个名为example-db
的数据库。
-
如需获取从备份恢复数据库所需的权限,请让管理员向您授予实例的 Cloud Spanner Restore Admin (
roles/spanner.restoreAdmin
) IAM 角色。
从备份中恢复数据库
控制台
转到 Google Cloud 控制台中的 Spanner 实例页面。
点击包含数据库的实例,打开其概览页面。
点击数据库打开其概览页面。
在导航窗格中,点击备份/恢复。
点击所选备份的操作按钮,然后选择恢复。
填写表单,然后点击恢复按钮。
如需检查操作的进度,请查看进度指示器,如操作页面中所示:
如果操作耗时过长,您可以取消该操作。如需了解详情,请参阅取消长时间运行的实例操作。
gcloud
如需恢复数据库,请使用 gcloud spanner databases restore
:
gcloud spanner databases restore --async \
--destination-instance=test-instance --destination-database=example-db-restored \
--source-instance=test-instance --source-backup=example-db-backup-6
使用说明:
- 由于
--async
标志,该命令会立即返回。如果没有此标志,该命令将等待恢复操作完成。 - 如果来源实例和目标实例不同,则它们必须具有相同的实例配置。
- 如果目标数据库已存在,则操作将失败。
客户端库
以下代码示例从给定备份恢复数据库,并等待恢复操作(具有 RestoreDatabaseMetadata
的操作)完成。恢复的数据库将在与备份相同的实例中创建。完成后,该示例会从数据库中检索并输出一些恢复信息。
C++
C#
Go
Java
Node.js
PHP
Python
Ruby