Puedes restaurar tu instancia a partir de una copia de seguridad y recuperarla en un periodo específico en una instancia nueva o en una ya creada. Puedes restaurar una instancia activa o eliminada. Para obtener más información sobre cómo funciona la restauración, consulta el artículo Descripción general de la restauración .
Para restaurar una instancia mediante una copia de seguridad, debes hacer lo siguiente:
Buscar la copia de seguridad que quieras restaurar
Usar la copia de seguridad para restaurar la instancia
La ubicación de la copia de seguridad depende de la opción de copia de seguridad de tu instancia.
Restaurar una instancia activa
Puedes restaurar una copia de seguridad de las siguientes formas:
Restaurar en la misma instancia
Cuando restauras datos de una copia de seguridad en la misma instancia, los datos de esa instancia vuelven al estado que tenían cuando se creó la copia de seguridad.
Advertencia: El proceso de restauración sobrescribe todos los datos que hay en la instancia, incluidos los registros de recuperación a un momento dado (PITR). Las copias de seguridad automáticas y bajo demanda anteriores de la instancia se conservarán.
Para restaurar una instancia con una copia de seguridad en la misma instancia, haz lo siguiente:
Consola
En la Google Cloud consola, ve a la página Copias de seguridad de Cloud SQL .
Ir a Copias de seguridad de Cloud SQL
En la página Copias de seguridad , haz clic en Nivel estándar o Nivel mejorado , según la opción de copia de seguridad de tu instancia.
Si tu instancia usa copias de seguridad estándar, selecciona la instancia de la que quieras ver las copias de seguridad.
Si tu instancia usa copias de seguridad mejoradas, selecciona Nivel mejorado y, a continuación, el Almacén de copias de seguridad que contenga la copia de seguridad que quieras usar. Se muestran todas las copias de seguridad disponibles en el
almacén de copias de seguridad de la instancia seleccionada.
Busca el nombre de la copia de seguridad que quieras restaurar y haz clic en Restaurar .
Nota: Todas las réplicas de la instancia de destino deben eliminarse antes de la restauración.
En Elegir destino de restauración , selecciona Sobrescribir la instancia de origen .
En el campo ID de instancia de destino , introduce el nombre de la instancia que se va a sobrescribir para confirmar tu selección.
Haz clic en Restaurar .
Cloud SQL restaura la copia de seguridad en la misma instancia. Para comprobar el estado de la operación de restauración, ve a la página Operaciones de la instancia.
Puedes crear réplicas cuando se complete la operación de restauración.
gcloud
Antes de restaurar una instancia, debes eliminar todas las réplicas.
Determina si tu instancia tiene réplicas de lectura con el comando
gcloud sql instances describe :
gcloud sql instances describe INSTANCE_NAME
Haz los cambios siguientes:
INSTANCE_NAME : el nombre de la instancia.
Si tu instancia contiene réplicas, elimínalas con el comando gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
Haz los cambios siguientes:
REPLCICA_NAME : el nombre de la réplica.
Busca la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, usa el comando
gcloud sql backups list
para buscar una copia de seguridad y registrar su valor ID:
gcloud sql backups list INSTANCE_NAME
Haz los cambios siguientes:
INSTANCE_NAME : el nombre de la instancia.
Si tu instancia usa copias de seguridad mejoradas, consulta Listar todas las copias de seguridad de un almacén de copias de seguridad .
Para restaurar la instancia a partir de la copia de seguridad especificada, usa el comando
gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=BACKUP_ID
Haz los cambios siguientes:
BACKUP_ID : el ID de la copia de seguridad que quieras restaurar.
INSTANCE_NAME : el nombre de la instancia.
Una vez completada la operación de restauración, vuelve a crear las réplicas que hayas eliminado en este procedimiento.
REST v1
Para determinar si la instancia tiene réplicas de lectura y obtener sus IDs, enumera todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"replicaNames": [
"REPLICA_NAME "
]
}
Elimina todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 "
}
Obtén el ID de la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
instance-id : el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 siguiente:
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"
}
Restaura la instancia desde la copia de seguridad:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de 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 /restoreBackup
Cuerpo JSON de la solicitud:
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_ID ",
}
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 de restauración, vuelve a crear las réplicas que hayas eliminado en este procedimiento.
REST v1beta4
Para determinar si la instancia tiene réplicas de lectura y obtener sus IDs, enumera todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"replicaNames": [
"REPLICA_NAME "
]
}
Elimina todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 "
}
Obtén el ID de la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
instance-id : el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 siguiente:
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"
}
Restaura la instancia desde la copia de seguridad:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de instancia
BACKUP_RUN_ID : marca de fecha y hora de cuándo restaura Cloud SQL la instancia a partir de la copia de seguridad
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup
Cuerpo JSON de la solicitud:
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_RUN_ID ",
}
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Una vez completada la operación de restauración, vuelve a crear las réplicas que hayas eliminado en este procedimiento.
Restaurar en una instancia nueva o ya creada
Cuando se restauran datos de una copia de seguridad en una instancia diferente, se actualizan los datos de la instancia de destino al estado de la instancia de origen cuando se realizó la copia de seguridad.
Si necesitas una lista de copias de seguridad del proyecto y no puedes verlas en la página de resumen de la instancia debido a una interrupción, puedes usar la API backupRuns.list con un carácter comodín (-). La opción de carácter comodín obtiene una lista de todas las copias de seguridad de todas las instancias del proyecto. Para obtener más información, consulta Ver copias de seguridad durante una interrupción .
Para restaurar tu instancia en una instancia nueva o ya creada, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Copias de seguridad de Cloud SQL .
Ir a Copias de seguridad de Cloud SQL
En la página Copias de seguridad , haz clic en Nivel estándar o Nivel mejorado , según la opción de copia de seguridad de tu instancia.
Si tu instancia usa copias de seguridad estándar, selecciona la instancia de la que quieras ver las copias de seguridad.
Si tu instancia usa copias de seguridad mejoradas, selecciona Nivel mejorado y, a continuación, el Almacén de copias de seguridad que contenga la copia de seguridad que quieras usar. Se muestran todas las copias de seguridad disponibles en el
almacén de copias de seguridad de la instancia seleccionada.
Busca el nombre de la copia de seguridad que quieras restaurar y haz clic en Restaurar .
En Elegir destino de restauración :
Si quieres restaurar tu instancia en una nueva, selecciona Restaurar en una instancia nueva y actualiza lo siguiente:
En Región , confirma la región. La región debe coincidir con la de la nueva instancia.
En el cuadro ID de instancia , asigna un nombre a la nueva instancia. Este nombre es permanente y no se puede cambiar.
Si quieres restaurar tu instancia en una instancia que ya tengas, selecciona Sobrescribir una instancia que ya tengas y haz lo siguiente:
Nota: Todas las réplicas de la instancia de destino deben eliminarse antes de la restauración.
En el menú Instancia que se va a sobrescribir , selecciona la instancia que quieras usar para la restauración. La instancia que selecciones y todos sus datos se sobrescribirán.
En el campo ID de instancia de destino , introduce el nombre de la instancia que se va a sobrescribir para confirmar tu selección.
Haz clic en Restaurar .
Cloud SQL restaura la copia de seguridad en la instancia nueva o en la que ya tenías, según lo que hayas seleccionado. Para comprobar el estado de la operación de restauración, ve a la página Operaciones de la instancia.
Puedes crear réplicas cuando se complete la operación de restauración.
gcloud
Si vas a restaurar una instancia, debes eliminar todas las réplicas de la instancia de destino antes de restaurarla.
Determina si tu instancia tiene réplicas de lectura con el comando
gcloud sql instances describe :
gcloud sql instances describe TARGET_INSTANCE_NAME
Haz los cambios siguientes:
TARGET_INSTANCE_NAME : el nombre de la instancia.
Si tu instancia contiene réplicas, elimínalas con el comando gcloud sql instances delete :
gcloud sql instances delete REPLCICA_NAME
Haz los cambios siguientes:
REPLCICA_NAME : el nombre de la réplica.
Busca la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, usa el comando
gcloud sql backups list
para buscar una copia de seguridad y registrar su valor ID:
gcloud sql backups list INSTANCE_NAME
Haz los cambios siguientes:
INSTANCE_NAME : el nombre de la instancia.
Si tu instancia usa copias de seguridad mejoradas, consulta Listar todas las copias de seguridad de un almacén de copias de seguridad .
Para restaurar la instancia a partir de la copia de seguridad especificada, usa el comando
gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME \
--backup-instance=SOURCE_INSTANCE_NAME
Haz los cambios siguientes:
BACKUP_ID : el ID de la copia de seguridad que quieras restaurar.
TARGET_INSTANCE_NAME : el nombre de la instancia de destino, ya sea nueva o ya existente.
SOURCE_INSTANCE_NAME : el nombre de la instancia de la fuente.
Si vas a restaurar una instancia que ya existe, una vez que se haya completado la operación de restauración, vuelve a crear las réplicas que hayas eliminado en este procedimiento.
REST v1
Si usas una instancia, todas las réplicas deben eliminarse antes de la restauración. Determina si la instancia tiene réplicas de lectura y obtén sus IDs. Para ello, enumera todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"replicaNames": [
"REPLICA_NAME "
]
}
Elimina todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 "
}
Obtén el ID de la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
instance-id : el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 siguiente:
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"
}
Restaura la instancia desde la copia de seguridad:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
target-instance-id : ID de la instancia de destino
source-instance-id : 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 /restoreBackup
Cuerpo JSON de la solicitud:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 de restauración, vuelve a crear las réplicas que hayas eliminado en este procedimiento.
REST v1beta4
Para determinar si la instancia tiene réplicas de lectura y obtener sus IDs, enumera todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"replicaNames": [
"REPLICA_NAME "
]
}
Elimina todas las réplicas de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 "
}
Obtén el ID de la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
instance-id : el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 siguiente:
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"
}
Restaura la instancia desde la copia de seguridad:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
target-instance-id : ID de la instancia de destino
source-instance-id : 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 /restoreBackup
Cuerpo JSON de la solicitud:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 de restauración, vuelve a crear las réplicas que hayas eliminado en este procedimiento.
Restaurar en una instancia de otro proyecto
Puedes usar el parámetro project para restaurar datos en una instancia de otro proyecto. Cuando se restaura desde una copia de seguridad en una instancia de otro proyecto, se actualizan los datos de la instancia de destino al estado de la instancia de origen cuando se realizó la copia de seguridad.
El usuario que restaura la instancia en otro proyecto debe tener los siguientes permisos:
* Permiso cloudsql.instances.restoreBackup
en el proyecto de destino
* Permiso cloudsql.backupRuns.get
en el proyecto de origen.
Estos permisos se incluyen en el rol Cloud SQL Admin.
Advertencia: El proceso de restauración sobrescribe todos los datos que hay en la instancia, incluidos los registros de recuperación a un momento dado (PITR). Las copias de seguridad automáticas y bajo demanda anteriores de la instancia se conservarán.
Para restaurar tu instancia mediante una copia de seguridad en una instancia de otro proyecto u otra región, haz lo siguiente:
gcloud Para restaurar una copia de seguridad de un almacén de copias de seguridad en una instancia, sigue estos pasos:
Si vas a restaurar una instancia, determina si la instancia de destino tiene réplicas de lectura con el comando
gcloud sql instances describe :
gcloud sql instance describe TARGET_INSTANCE_NAME
Haz los cambios siguientes:
TARGET_INSTANCE_NAME : el nombre de la instancia de destino en la que quieres restaurar la copia de seguridad.
Elimina todas las réplicas de tu instancia de destino con el comando
gcloud sql instances delete :
gcloud sql instance delete REPLICA_NAME
Haz los cambios siguientes:
REPLICA_NAME : el nombre de la réplica de la instancia de destino.
Debes eliminar todas las réplicas para poder restaurar una instancia.
Busca la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, usa el comando
gcloud sql backups list
para buscar una copia de seguridad y registrar su valor ID:
gcloud sql backups list INSTANCE_NAME
Haz los cambios siguientes:
INSTANCE_NAME : el nombre de la instancia.
Si tu instancia usa copias de seguridad mejoradas, consulta Listar todas las copias de seguridad de un almacén de copias de seguridad .
Para restaurar una instancia nueva o una que ya tengas en un proyecto nuevo, usa el comando gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID
--restore-instance=TARGET_INSTANCE_NAME
--backup-instance=SOURCE_INSTANCE_NAME
--backup-project=SOURCE_INSTANCE_PROJECT
Haz los cambios siguientes:
BACKUP_ID : ID de la copia de seguridad del depósito de copias de seguridad. Deberá incluir la ruta completa de la copia de seguridad en este campo.
TARGET_INSTANCE_NAME : la instancia del proyecto de destino en la que vas a restaurar los datos.
SOURCE_INSTANCE_NAME : el nombre de la instancia del proyecto de origen donde se encuentran los datos.
SOURCE_INSTANCE_PROJECT : el proyecto que contiene la instancia de origen.
REST v1
Para obtener el backupId, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
instance-id : el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 siguiente:
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"
}
Restaura la copia de seguridad en una instancia de otro proyecto:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
source-project-id : ID del proyecto de origen.
target-project-id : ID del proyecto de destino
target-instance-id : ID de la instancia de destino
source-instance-id : 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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 siguiente:
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 "
}
REST v1beta4
Para obtener el backupId, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
project-id : el ID del proyecto
instance-id : el ID de instancia.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 siguiente:
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"
}
Restaura la copia de seguridad en una instancia de otro proyecto:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
source-project-id : ID del proyecto de origen.
target-project-id : ID del proyecto de destino
target-instance-id : ID de la instancia de destino
source-instance-id : 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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 siguiente:
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 "
}
Restaurar una instancia eliminada
Puedes usar una copia de seguridad final
o una copia de seguridad conservada
para restaurar una instancia eliminada en los siguientes casos:
Restaurar en una instancia
Cuando restauras datos de una copia de seguridad final o conservada en una instancia, actualizas los datos de la instancia de destino al estado de la instancia de origen cuando se realizó la copia de seguridad. Para obtener más información sobre cómo restaurar una instancia, consulta Consejos generales para realizar una restauración .
Advertencia: El proceso de restauración sobrescribe todos los datos que hay en la instancia, incluidos los registros de recuperación a un momento dado (PITR). Las copias de seguridad automáticas y bajo demanda anteriores de la instancia se conservan.
Para restaurar una instancia eliminada mediante una copia de seguridad en una instancia, haz lo siguiente:
Consola
En la Google Cloud consola, ve a la página Instancias de Cloud SQL .
Ir a Instancias de Cloud SQL
Si la instancia de destino tiene réplicas de lectura, usa el menú Más acciones
para eliminarlas. Debes eliminar todas las réplicas para poder restaurar una copia de seguridad final o conservada en la instancia.
En la Google Cloud consola, ve a la página Copias de seguridad de Cloud SQL .
Ir a Copias de seguridad de Cloud SQL
En la página Copias de seguridad , haz clic en Nivel estándar o Nivel mejorado , según la opción de copia de seguridad de tu instancia.
Si tu instancia usa copias de seguridad estándar, haz clic en el nombre de la instancia eliminada que contenga la copia de seguridad que quieras restaurar.
Si tu instancia usa copias de seguridad mejoradas, selecciona Nivel mejorado y, a continuación, el almacén de copias de seguridad que contenga la copia de seguridad que quieras usar. Se muestran todas las copias de seguridad disponibles en el
almacén de copias de seguridad de la instancia seleccionada.
Busca el nombre de la copia de seguridad que quieras restaurar y haz clic en Restaurar .
En la página Restaurar una instancia a partir de una copia de seguridad , confirma que has seleccionado la copia de seguridad correcta en Revisar detalles de la copia de seguridad .
En la sección Elegir destino de restauración , selecciona Sobrescribir una instancia .
En el menú Instancia que se va a sobrescribir , selecciona la instancia en la que quieras restaurar la copia de seguridad. La instancia que selecciones y todos sus datos se sobrescribirán.
Para confirmar la selección, en el campo ID de instancia de destino , introduce el nombre de la instancia que se va a sobrescribir.
Haz clic en Restaurar .
Cloud SQL restaurará la copia de seguridad en la instancia.
Para comprobar el estado de la operación de restauración, ve a la página Operaciones de la instancia.
Puedes crear réplicas cuando se complete la operación de restauración.
gcloud
1 . When restoring to an existing instance , all replicas must be deleted
from your target instance prior to restoring .
Determine if your instance has any read replicas using the
[ ` gcloud sql instances describe ` ]( / sdk / gcloud / reference / sql / instances / describe )
command :
``` gcloud
gcloud sql instances describe TARGET_INSTANCE_NAME
```
Replace the following :
* ` TARGET_INSTANCE_NAME ` : the name of the instance .
If your instance contains replicas , then delete the replicas
using the
[ ` gcloud sql instances delete ` ]( / sdk / gcloud / reference / sql / instances / delete )
command :
``` gcloud
gcloud sql instances delete REPLCICA_NAME
```
Replace the following :
* ` REPLCICA_NAME ` : the name of the replica .
Busca la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, usa el comando
gcloud sql backups list
para buscar una copia de seguridad y registrar su valor ID:
gcloud sql backups list INSTANCE_NAME
Haz los cambios siguientes:
INSTANCE_NAME : el nombre de la instancia.
Si tu instancia usa copias de seguridad mejoradas, consulta Listar todas las copias de seguridad de un almacén de copias de seguridad .
Para restaurar la instancia a partir de la copia de seguridad especificada, usa el comando
gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
Haz los cambios siguientes:
BACKUP_ID : el ID de la copia de seguridad que quieras restaurar.
TARGET_INSTANCE_NAME : el nombre de la instancia de destino nueva o ya creada.
Una vez completada la operación de restauración, vuelve a crear las réplicas que hayas eliminado en este procedimiento.
REST v1
Cuando restaure una copia de seguridad en una instancia, debe eliminar todas las réplicas de la instancia de destino antes de restaurar la copia. Para determinar si la instancia tiene réplicas de lectura, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"replicaNames": [
"REPLICA_NAME "
]
}
Elimina todas las réplicas de lectura de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 "
}
Obtén el ID de la copia de seguridad final o conservada que quieras usar:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 /backups" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaura la instancia de destino a partir de la copia de seguridad conservada o final.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
TARGET_INSTANCE_ID : el ID de instancia de destino
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 /restoreBackup
Cuerpo JSON de la solicitud:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
Cuando restaure una copia de seguridad en una instancia, debe eliminar todas las réplicas de la instancia de destino antes de restaurar la copia. Para determinar si la instancia tiene réplicas de lectura, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
INSTANCE_ID : el ID de instancia
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"replicaNames": [
"REPLICA_NAME "
]
}
Elimina todas las réplicas de lectura de la instancia:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
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, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
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 "
}
Obtén el ID de la copia de seguridad final o conservada que quieras usar:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 /backups" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaura la instancia de destino a partir de la copia de seguridad conservada o final.
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
TARGET_INSTANCE_ID : el ID de instancia de destino
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 /restoreBackup
Cuerpo JSON de la solicitud:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Restaurar en una instancia nueva
Cuando creas una instancia a partir de una copia de seguridad final o conservada, Cloud SQL usa los ajustes de configuración de la instancia de la que se ha tomado la copia de seguridad.
Una vez creada la instancia, Cloud SQL restaura los datos al estado que tenían cuando se creó la copia de seguridad.
Para restaurar datos de una copia de seguridad final o conservada en una instancia nueva, debes tener los siguientes permisos:
Permiso cloudsql.instances.create para el proyecto de destino
Permiso cloudsql.instances.restoreBackup para el proyecto de destino
cloudsql.backupRuns.get permission de la copia de seguridad de origen.
Estos permisos están incluidos en el rol Administrador de Cloud SQL.
Nota: La instancia que creas a partir de la copia de seguridad final tiene una dirección IP diferente a la de la instancia en la que se crea la copia de seguridad final. Para obtener más información sobre cómo restaurar una instancia, consulta las sugerencias generales sobre cómo realizar una restauración .
Para restaurar una instancia eliminada mediante una copia de seguridad en una instancia nueva, sigue estos pasos:
Consola
En la Google Cloud consola, ve a la página Copias de seguridad de Cloud SQL .
Ir a Copias de seguridad de Cloud SQL
En la página Copias de seguridad , haz clic en Nivel estándar o Nivel mejorado , según la opción de copia de seguridad de tu instancia.
Si tu instancia usa copias de seguridad estándar, haz clic en el nombre de la instancia eliminada que contenga la copia de seguridad que quieras restaurar.
Si tu instancia usa copias de seguridad mejoradas, selecciona Nivel mejorado y, a continuación, el Almacén de copias de seguridad que contenga la copia de seguridad que quieras usar. Se muestran todas las copias de seguridad disponibles en el
almacén de copias de seguridad de la instancia seleccionada.
Busca el nombre de la copia de seguridad que quieras restaurar y haz clic en Restaurar .
En la página Restaurar una instancia a partir de una copia de seguridad , confirma que has seleccionado la copia de seguridad correcta en Revisar detalles de la copia de seguridad .
En la sección Elegir destino de restauración , selecciona Restaurar en una instancia nueva .
En el menú Región , selecciona la región de la nueva instancia.
En el campo ID de instancia , introduzca un ID para la nueva instancia.
Este ID no se puede cambiar una vez creado.
Haz clic en Restaurar .
Cloud SQL restaurará la copia de seguridad en la instancia.
Para comprobar el estado de la operación de restauración, ve a la página Operaciones de la instancia.
gcloud
Busca la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, usa el comando
gcloud sql backups list
para buscar una copia de seguridad y registrar su valor ID:
gcloud sql backups list INSTANCE_NAME
Haz los cambios siguientes:
INSTANCE_NAME : el nombre de la instancia.
Si tu instancia usa copias de seguridad mejoradas, consulta Listar todas las copias de seguridad de un almacén de copias de seguridad .
Para restaurar la instancia a partir de la copia de seguridad especificada, usa el comando
gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
Haz los cambios siguientes:
BACKUP_ID : ID de la copia de seguridad que quieres restaurar.
TARGET_INSTANCE_NAME : el nombre de la instancia de destino nueva o ya creada.
REST v1 Restaurar una instancia nueva a partir de la copia de seguridad final o conservada especificada
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
TARGET_INSTANCE_ID : el ID de instancia de destino
BACKUP_ID : el ID de la copia de seguridad
Nota: La línea de código restore_instance_settings: {} permite que Cloud SQL restaure los datos de la copia de seguridad en la nueva instancia.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Cuerpo JSON de la solicitud:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 Restaurar una instancia nueva a partir de la copia de seguridad final o conservada especificada
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
TARGET_INSTANCE_ID : el ID de instancia de destino
BACKUP_ID : el ID de la copia de seguridad
Nota: La línea de código restore_instance_settings: {} permite que Cloud SQL restaure los datos de la copia de seguridad en la nueva instancia.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
Cuerpo JSON de la solicitud:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Restaurar en una instancia nueva o en una ya disponible de otro proyecto
Puedes usar el parámetro project para restaurar datos en una instancia de otro proyecto. Cuando restauras una instancia eliminada desde una copia de seguridad en una instancia de otro proyecto, la instancia de destino se actualiza al estado de la instancia de origen cuando se hizo la copia de seguridad.
El usuario que restaura la instancia en otro proyecto debe tener los siguientes permisos:
* Permiso cloudsql.instances.create en el proyecto de destino
* Permiso cloudsql.instances.restoreBackup en el proyecto de destino
* Permiso cloudsql.backupRuns.get permission en la copia de seguridad de origen.
Estos permisos se incluyen en el rol Cloud SQL Admin.
Advertencia: El proceso de restauración sobrescribe todos los datos que hay en la instancia, incluidos los registros de recuperación a un momento dado (PITR). Las copias de seguridad automáticas y bajo demanda anteriores de la instancia se conservarán.
Para restaurar tu instancia mediante una copia de seguridad en una instancia de otro proyecto u otra región, haz lo siguiente:
gcloud
Si vas a restaurar una instancia, determina si la instancia de destino tiene réplicas de lectura con el comando
gcloud sql instances describe :
gcloud sql instance describe TARGET_INSTANCE_NAME
Haz los cambios siguientes:
TARGET_INSTANCE_NAME : el nombre de la instancia de destino en la que quieres restaurar la copia de seguridad.
Elimina todas las réplicas de tu instancia de destino con el comando
gcloud sql instances delete :
gcloud sql instance delete REPLICA_NAME
Haz los cambios siguientes:
REPLICA_NAME : el nombre de la réplica de la instancia de destino.
Debes eliminar todas las réplicas para poder restaurar una instancia.
Busca la copia de seguridad que quieras usar.
Si tu instancia usa copias de seguridad estándar, usa el comando
gcloud sql backups list
para buscar una copia de seguridad y registrar su valor ID:
gcloud sql backups list INSTANCE_NAME
Haz los cambios siguientes:
INSTANCE_NAME : el nombre de la instancia.
Si tu instancia usa copias de seguridad mejoradas, consulta Listar todas las copias de seguridad de un almacén de copias de seguridad .
Para restaurar una instancia nueva o una que ya tengas en un proyecto nuevo, usa el comando gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID
--restore-instance=TARGET_INSTANCE_NAME
--backup-instance=SOURCE_INSTANCE_NAME
--backup-project=SOURCE_INSTANCE_PROJECT
Haz los cambios siguientes:
BACKUP_ID : ID de la copia de seguridad del depósito de copias de seguridad. Deberá incluir la ruta completa de la copia de seguridad en este campo.
TARGET_INSTANCE_NAME : la instancia del proyecto de destino en la que vas a restaurar los datos.
SOURCE_INSTANCE_NAME : el nombre de la instancia del proyecto de origen donde se encuentran los datos.
SOURCE_INSTANCE_PROJECT : el proyecto que contiene la instancia de origen.
REST v1 Para obtener el backupID de la copia de seguridad conservada o final, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 /backups" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaurar en otro proyecto
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
TARGET_INSTANCE_ID : el ID de instancia de destino
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 /restoreBackup
Cuerpo JSON de la solicitud:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 Para obtener el backupID de la copia de seguridad conservada o final, ejecuta lo siguiente:
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
Ejecuta el comando siguiente:
$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 /backups" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
Restaurar en otro proyecto
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
PROJECT_ID : el ID del proyecto
TARGET_INSTANCE_ID : el ID de instancia de destino
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 /restoreBackup
Cuerpo JSON de la solicitud:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
Para enviar tu solicitud, despliega una de estas opciones:
curl (Linux, macOS o Cloud Shell)
Nota:
En el siguiente comando se presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando gcloud init
o gcloud auth login
, o bien usando Cloud Shell ,
que inicia sesión automáticamente en la CLI de gcloud
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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)
Nota:
El siguiente comando presupone que has iniciado sesión en la CLI de gcloud con tu cuenta de usuario ejecutando
gcloud init
o
gcloud auth login
.
Para comprobar la cuenta activa, ejecuta el comando gcloud auth list .
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 Content
Deberías recibir una respuesta JSON similar a la siguiente:
Respuesta
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Siguientes pasos
*
Consulta cómo volver a crear una réplica de lectura .
*
Más información sobre cómo crear una copia de seguridad de tus datos
*
Consulta cómo crear una copia de seguridad de tus datos .
* Consulta la
documentación de MySQL sobre la recuperación a un momento dado .
* Consulta la
documentación de MySQL sobre la herramienta mysqlbinlog .