Para obtener información, prácticas recomendadas y requisitos para las operaciones de restablecimiento o la recuperación de un momento determinado, consulta Descripción general del restablecimiento de una instancia.
Restablece una instancia desde una copia de seguridad
Puedes usar una copia de seguridad para restablecer la misma instancia que se copió o una instancia diferente en el mismo proyecto.
Restablece a una instancia diferente
Cuando restableces a partir de una copia de seguridad a una instancia diferente, se actualizan los datos en la instancia de destino al estado de la de origen cuando realizaste la copia. A fin de obtener más información, consulta Sugerencias generales para realizar restablecimientos y Sugerencias y requisitos para restablecer a una instancia diferente.
Si necesitas una lista de copias de seguridad del proyecto y no puedes verlas en la página de descripción general de la instancia debido a una interrupción, puedes usar la API de backupRuns.list
con un comodín (-
) para recuperar una lista de todas las copias de seguridad en todas las instancias del proyecto. Para obtener más información, consulta Visualiza las copias de seguridad durante una interrupción.
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
-
Si la instancia de destino tiene réplicas de lectura, usa el menú de más acciones
en el extremo derecho para borrarlas.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Selecciona Copias de seguridad en el menú de navegación de SQL.
- Busca la copia de seguridad que deseas restablecer y selecciona Restablecer.
- En la página Restablecer una instancia a partir de una copia de seguridad, confirma que seleccionaste la copia de seguridad correcta en Revisa los detalles de la copia de seguridad.
- En Elige el destino de restablecimiento, selecciona Reemplazar una instancia existente.
- En el menú desplegable Instancia, selecciona la instancia que deseas usar para el restablecimiento. Se reemplazan la instancia que seleccionas y todos los datos.
- Para confirmar la selección, ingresa el nombre de la instancia que se reemplazará en el campo ID de instancia de destino.
- Para iniciar el proceso de restablecimiento, haz clic en Restablecer.
- Para verificar el estado de la operación de restablecimiento, ve a la pestaña Operaciones de la instancia de destino.
- Una vez completada la operación, vuelve a crear las réplicas que hayas borrado antes.
- Describe la instancia de destino para ver si tiene réplicas:
gcloud sql instances describe
TARGET_INSTANCE_NAME Anota las instancias que se enumeran en
replicaNames
. - Borra todas las réplicas:
gcloud sql instances delete
REPLICA_NAME Repite este paso para cada réplica.
- Enumera las copias de seguridad para la instancia de origen:
gcloud sql backups list \ --instance
SOURCE_INSTANCE_NAME -
Encuentra la copia de seguridad que deseas usar y registra su valor de
ID
. - Restablece la copia de seguridad especificada a la instancia de destino:
gcloud sql backups restore
BACKUP_ID \ --restore-instance=TARGET_INSTANCE_NAME \ --backup-instance=SOURCE_INSTANCE_NAME - Una vez completado el restablecimiento, vuelve a crear las réplicas que hayas borrado antes.
-
Enumera todas las réplicas para la instancia de destino.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=replicaNamesPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=replicaNames"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=replicaNames" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "replicaNames": [ "
replica-name " ] } -
Borra todas las réplicas.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- replica-id: El ID de la réplica
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/v1/projects/
project-id /instances/replica-id Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/replica-id "PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/replica-id " | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/replica-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "operation-id ", "targetId": "replica-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Repite este paso para cada réplica.
- Muestra las copias de seguridad de la instancia de origen para obtener el ID de la copia que deseas usar.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id /backupRunsPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
-O- Si la instancia se encuentra en una región que tiene una interrupción, enumera todas las copias de seguridad en un proyecto:Respuesta
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "
backup-id ", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" }Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- instance-id: El ID de la instancia o
-
para una lista de todas las copias de seguridad en el proyecto
HTTP method and URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/-/backupRunsPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/-/backupRuns"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/-/backupRuns" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Busca la copia de seguridad de la instancia que necesitas restablecer.Respuesta
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "
backup-id ", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" "backupKind": "SNAPSHOT" } -
Restablece la instancia de destino a partir de la copia de seguridad:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- backup-id: El ID de la copia de seguridad
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/
project-id /instances/target-instance-id /restoreBackupCuerpo JSON de la solicitud:
{ "restoreBackupContext": { "backupRunId":
backup-id , "instanceId": "source-instance-id " } }Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup"PowerShell (Windows)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Una vez completada la operación, vuelve a crear las réplicas que hayas borrado antes.
-
Enumera todas las réplicas para la instancia de destino.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=replicaNamesPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=replicaNames"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=replicaNames" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "replicaNames": [ "
replica-name " ] } -
Borra todas las réplicas.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- replica-id: El ID de la réplica
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/replica-id Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/replica-id "PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/replica-id " | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/replica-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "operation-id ", "targetId": "replica-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Repite este paso para cada réplica.
- Muestra las copias de seguridad de la instancia de origen para obtener el ID de la copia que deseas usar.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id /backupRunsPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "
backup-id ", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } -
Restablece la instancia de destino a partir de la copia de seguridad:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- backup-id: El ID de la copia de seguridad
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/target-instance-id /restoreBackupCuerpo JSON de la solicitud:
{ "restoreBackupContext": { "backupRunId":
backup-id , "instanceId": "source-instance-id " } }Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup"PowerShell (Windows)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Una vez completada la operación, vuelve a crear las réplicas que hayas borrado antes.
Restablece a la misma instancia
Cuando restableces a partir de una copia de seguridad a la misma instancia, puedes regresar los datos de esa instancia al estado que tenían al copiarla. Obtén más información sobre cómo restablecer una instancia en Sugerencias generales para realizar restablecimientos.
-
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
-
Si la instancia de destino tiene réplicas de lectura, usa el menú de más acciones
en el extremo derecho para borrarlas.
- Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
- Selecciona Copias de seguridad en el menú de navegación de SQL.
- Busca la copia de seguridad que deseas usar y selecciona Restablecer.
- En la página Restablecer una instancia a partir de una copia de seguridad, confirma que seleccionaste la copia de seguridad correcta en Revisa los detalles de la copia de seguridad.
- En Elegir destino de restablecimiento, selecciona Reemplazar la instancia de origen.
Verifica que el nombre de la instancia de origen se especifique entre paréntesis.
- Para confirmar la selección, ingresa el nombre de la instancia en el campo ID de instancia de destino.
- Para iniciar el proceso de restablecimiento, haz clic en Restablecer.
- Para verificar el estado de la operación de restablecimiento, ve a la página Operaciones de la instancia.
- Una vez completada la operación, vuelve a crear las réplicas que hayas borrado en el primer paso.
- Describe la instancia para ver si tiene réplicas:
gcloud sql instances describe
INSTANCE_NAME Anota las instancias que se enumeran en
replicaNames
. - Borra todas las réplicas:
gcloud sql instances delete
REPLICA_NAME Repítelo con todas las réplicas.
- Enumera las copias de seguridad para la instancia:
gcloud sql backups list --instance
INSTANCE_NAME -
Encuentra la copia de seguridad que deseas usar y registra su valor de
ID
. - Restablece la instancia a partir de la copia de seguridad especificada:
gcloud sql backups restore
BACKUP_ID \ --restore-instance=INSTANCE_NAME - Una vez completada la operación, vuelve a crear las réplicas que hayas borrado en el primer paso.
-
Enumera todas las réplicas de la instancia:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ?fields=replicaNamesPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=replicaNames"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ?fields=replicaNames" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "replicaNames": [ "
replica-name " ] } -
Borra todas las réplicas.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- replica-id: El ID de la réplica
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/v1/projects/
project-id /instances/replica-id Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/replica-id "PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/replica-id " | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/replica-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "operation-id ", "targetId": "replica-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Repite este paso para cada réplica de lectura.
-
Enumera las copias de seguridad de la instancia para obtener el ID de la copia que deseas usar.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id /backupRunsPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "
backup-id ", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } -
Restablece la instancia a partir de la copia de seguridad.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: El ID de la instancia
- backup-id: El ID de la copia de seguridad
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id /restoreBackupCuerpo JSON de la solicitud:
{ "restoreBackupContext": { "backupRunId": "
backup-id ", } }Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /restoreBackup"PowerShell (Windows)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /restoreBackup" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Una vez completada la operación, vuelve a crear las réplicas que hayas borrado antes.
-
Enumera todas las réplicas de la instancia:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ?fields=replicaNamesPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=replicaNames"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ?fields=replicaNames" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "replicaNames": [ "
replica-name " ] } -
Borra todas las réplicas.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- replica-id: El ID de la réplica
Método HTTP y URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/replica-id Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X DELETE \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/replica-id "PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method DELETE `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/replica-id " | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/replica-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "DELETE_BACKUP", "name": "operation-id ", "targetId": "replica-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " }Repite este paso para cada réplica de lectura.
-
Enumera las copias de seguridad de la instancia para obtener el ID de la copia que deseas usar.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id /backupRunsPara enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "
backup-id ", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" } -
Restablece la instancia a partir de la copia de seguridad.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: El ID de la instancia
- backup-id: El ID de la copia de seguridad
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id /restoreBackupCuerpo JSON de la solicitud:
{ "restoreBackupContext": { "backupRunId": "
backup-id ", } }Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /restoreBackup"PowerShell (Windows)
Guarda el cuerpo de la solicitud en un archivo llamado
request.json
y ejecuta el siguiente comando:$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /restoreBackup" | Select-Object -Expand ContentDeberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/
project-id /instances/instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_BACKUP", "name": "operation-id ", "targetId": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ", "targetProject": "project-id " } - Una vez completada la operación, vuelve a crear las réplicas que hayas borrado antes.
Restablece una instancia en otro proyecto
Puedes usar el parámetro project
para restablecer datos a una instancia en un proyecto diferente al que se le realizó la copia de seguridad. Cuando uses el parámetro project
, llama a restoreBackup
en el proyecto y en la instancia en la que deseas restablecer los datos. Cuando restableces a partir de una copia de seguridad a una instancia diferente, se actualizan los datos en la instancia de destino al estado de la de origen cuando realizaste la copia.
Permisos
El usuario que restablece a un proyecto diferente debe tener el permiso cloudsql.instances.restoreBackup
para el proyecto de destino y el permiso cloudsql.backupRuns.get
para la instancia de origen.
Estos permisos están incluidos en la función Cloud SQL Admin
.
Para restablecer datos a una instancia en un proyecto diferente, realiza lo siguiente:
-
Enumera las copias de seguridad de la instancia.
gcloud sql backups list --instance
INSTANCE_NAME Reemplaza INSTANCE_NAME por el nombre de la instancia.
-
Encuentra la copia de seguridad que deseas usar y registra su valor de
ID
. -
Restablece datos a una instancia en un proyecto diferente.
gcloud sql backups restore
BACKUP_ID \ --restore-instance=TARGET_INSTANCE_NAME \ --backup-instance=SOURCE_INSTANCE_NAME \ --backup-project=SOURCE_INSTANCE_PROJECT Realiza los siguientes reemplazos:
- BACKUP_ID: Es el ID de la copia de seguridad. Obtuviste este ID antes en este procedimiento.
- TARGET_INSTANCE_NAME: Es la instancia del proyecto de destino en la que restableces los datos.
- SOURCE_INSTANCE_NAME: Es la instancia del proyecto de origen que contiene los datos que deseas restablecer en la instancia del proyecto de destino.
- SOURCE_INSTANCE_PROJECT: Es el proyecto que contiene la instancia de origen.
Para obtener el backupId
, ejecuta lo siguiente.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "backup-id ", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" }
Restablece la copia de seguridad a una instancia en un proyecto diferente:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- source-project-id: El ID del proyecto de origen
- target-project-id: El ID del proyecto de destino
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- backup-id: El ID de la copia de seguridad
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup
Cuerpo JSON de la solicitud:
{ "restoreBackupContext": { "backupRunId":backup-id , "project": "source-project-id ", "instanceId": "source-instance-id " } }
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_VOLUME", "name": "operation-id ", "targetId": "target-instance-id ", "selfLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /operations/operation-id ", "targetProject": "target-project-id " }
project
, consulta
restoreBackup
backupId
, ejecuta lo siguiente.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: el ID del proyecto
- instance-id: Es el ID de la instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Ejecuta el siguiente comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#backupRun", "status": "SUCCESSFUL", "enqueuedTime": "2020-01-21T11:25:33.818Z", "id": "backup-id ", "startTime": "2020-01-21T11:25:33.858Z", "endTime": "2020-01-21T11:26:18.663Z", "type": "AUTOMATED", "windowStartTime": "2020-01-21T10:00:00.479Z", "instance": "instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ", "location": "us" }
Restablece la copia de seguridad a una instancia en un proyecto diferente:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- source-project-id: El ID del proyecto de origen
- target-project-id: El ID del proyecto de destino
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- backup-id: El ID de la copia de seguridad
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup
Cuerpo JSON de la solicitud:
{ "restoreBackupContext": { "backupRunId":backup-id , "project": "source-project-id ", "instanceId": "source-instance-id " } }
Para enviar tu solicitud, expande una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Guarda el cuerpo de la solicitud en un archivo llamado request.json
y ejecuta el siguiente comando:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Respuesta
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id ", "status": "PENDING", "user": "user@example.com", "insertTime": "2020-01-21T22:43:37.981Z", "operationType": "RESTORE_VOLUME", "name": "operation-id ", "targetId": "target-instance-id ", "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /operations/operation-id ", "targetProject": "target-project-id " }
project
consulta
restoreBackup
Realiza una recuperación de un momento determinado
Para realizar una recuperación de un momento determinado, consulta Recuperación de un momento determinado.
Identifica la posición de recuperación
Antes de poder realizar una recuperación de un momento determinado, debes identificar un nombre de archivo de registro binario y una posición que correspondan al momento al que deseas recuperar la instancia.
Para realizar esta tarea, consulta Identifica la posición de recuperación.
Próximos pasos
- Obtén más información sobre el restablecimiento.
- Consulta cómo volver a crear una réplica de lectura.
- Obtén más información sobre cómo realizar una copia de seguridad de tus datos.
- Consulta cómo hacer una copia de seguridad de tus datos.
- Consulta la documentación de MySQL sobre recuperación de un momento determinado.
- Consulta la documentación de MySQL sobre la herramienta mysqlbinlog.