Puedes usar la recuperación de un momento determinado (PITR) para restablecer tus instancias principales de Cloud SQL, ya sea que la instancia esté activa o se haya borrado. La PITR te permite restablecer la instancia a un momento determinado. Una recuperación de un momento determinado siempre crea una instancia nueva. No puedes realizar una PITR en una instancia existente.
Cloud SQL proporciona las siguientes opciones para restablecer tu instancia con la PITR:
Para realizar una PITR en una instancia no disponible o borrada, deberás encontrar la hora de recuperación más reciente y más antigua.
Realiza una PITR con una marca de tiempo
Usar una marca de tiempo es el enfoque recomendado para realizar
una PITR.
Cloud SQL usa la utilidad mysqlbinlog para restablecer instancias hasta un momento específico. Si deseas
obtener más información sobre la utilidad mysqlbinlog, consulta la documentación de referencia de MySQL.
Para completar la siguiente tarea, debes tener lo siguiente:
- Registro binario y copias de seguridad habilitados para la instancia, con registros binarios continuos desde la última copia de seguridad antes del evento del que deseas recuperarte. Para obtener más información, consulta Habilita el registro binario.
- Una marca de tiempo para definir el punto de recuperación. Los eventos que ocurren en esta marca de tiempo y después de ella no se reflejan en la instancia nueva.
Console
-
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Abre el menú de más acciones
para la instancia que deseas recuperar y haz clic en Crear clonación. - De manera opcional, en la página Crear una clonación, actualiza el ID de la clonación nueva.
- Selecciona Clonar desde un momento anterior.
- Ingresa un tiempo de PITR.
- Haz clic en Crear clon.
gcloud
Crea un clon con PITR.
Reemplaza lo siguiente:
- SOURCE_INSTANCE_NAME: Es el nombre de la instancia desde la que restableces.
- NEW_INSTANCE_NAME: Es el nombre para el clon.
- TIMESTAMP: Es la zona horaria UTC para la instancia de origen en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \ NEW_INSTANCE_NAME \ --point-in-time 'TIMESTAMP'
REST v1
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- restore-timestamp El momento al que se restablecerá
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
REST v1beta4
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- restore-timestamp El momento al que se restablecerá
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Realiza una PITR con la backup vault
Si tu instancia de Cloud SQL está habilitada para usar copias de seguridad mejoradas, puedes realizar una recuperación de un momento determinado para tu instancia con la bóveda de copias de seguridad.
Console
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
Abre el menú de más acciones
para la instancia que
deseas recuperar y haz clic en Crear clonación.Selecciona Clonar desde un momento anterior.
Ingresa un tiempo de PITR.
Haz clic en Crear clon.
gcloud
Para realizar una PITR en una instancia desde la backup vault, deberás encontrar el
data-source de la copia de seguridad que esté más cerca de la hora en la que deseas realizar
la PITR. Para encontrar la copia de seguridad, consulta
Enumera todas las copias de seguridad en la backup vault de una instancia. Una vez que hayas identificado la copia de seguridad, ejecuta el siguiente comando para realizar la PITR:
gcloud sql instances point-in-time-restore DATA_SOURCE \
TARGET_INSTANCE_NAME \
'PITR_TIMESTAMP' \
--project=TARGET_PROJECT \
--region=REGION
Reemplaza lo siguiente:
DATA_SOURCE: Es la ruta de acceso deldata-sourcede la instancia de origen que está más cerca de la marca de tiempo de la PITR a la que deseas recuperar.TARGET_INSTANCE_NAME: el nombre de la instancia nueva que crea la operación de PITR.PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2025-11-15T16:19:00.094Z.TARGET_PROJECT: Es el ID del proyecto de la instancia nueva.REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión. La región de la instancia de destino debe ser la misma que la de la instancia de origen.
REST v1
Para realizar la recuperación de un momento determinado con una fuente de datos de la bóveda de copias de seguridad, usa el
método instances.pointInTimeRestore con una solicitud POST.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia nueva.
- DATASOURCE: Es la fuente de datos de Backup and DR que deseas que use el servicio para la operación de restablecimiento de un momento determinado.
- PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
- TARGET_INSTANCE_NAME: Es el nombre de la instancia que creó la operación de PITR.
- REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión. La región de la instancia de destino debe ser la misma que la de la instancia de origen.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID:pointInTimeRestore
Cuerpo JSON de la solicitud:
{
"datasource": "DATASOURCE",
"pointInTime": "PITR_TIMESTAMP",
"targetInstanceName": "TARGET_INSTANCE_NAME",
"region": "REGION"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
REST v1beta4
Para realizar la recuperación de un momento determinado con una fuente de datos de la bóveda de copias de seguridad, usa el
método instances.pointInTimeRestore con una solicitud POST.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto en el que deseas crear la instancia nueva.
- DATASOURCE: Es la fuente de datos de Backup and DR que deseas que use el servicio para la operación de restablecimiento de un momento determinado.
- PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
- TARGET_INSTANCE_NAME: Es el nombre de la instancia que creó la operación de PITR.
- REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión. La región de la instancia de destino debe ser la misma que la de la instancia de origen.
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID:pointInTimeRestore
Cuerpo JSON de la solicitud:
{
"datasource": "DATASOURCE",
"pointInTime": "PITR_TIMESTAMP",
"targetInstanceName": "TARGET_INSTANCE_NAME",
"region": "REGION"
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Realiza una PITR entre proyectos
Con las copias de seguridad mejoradas, puedes restablecer una instancia de Cloud SQL en un proyecto que no sea aquel en el que se encuentra la instancia de origen o la bóveda de copias de seguridad.
La PITR entre proyectos solo se admite a través de la gcloud CLI y las APIs de REST.
Para realizar una PITR entre proyectos, haz lo siguiente:
Si usas gcloud CLI, establece la marca
--projecten el proyecto en el que deseas crear la instancia de destino.Si usas las APIs de REST, establece el campo
PROJECT_IDen el proyecto en el que deseas crear la instancia de destino.
Realiza PITR en una instancia no disponible
Console
Es posible que desees recuperar una instancia que no está disponible en una zona diferente debido a los siguientes motivos:
- No se puede acceder a la zona en la que se configuró la instancia. Esta
instancia tiene el estado
FAILED. - La instancia está en mantenimiento. Esta instancia tiene el estado
MAINTENANCE.
Para recuperar una instancia que no está disponible, completa los siguientes pasos:
-
En la consola de Google Cloud , ve a la página Instancias de Cloud SQL.
- Encuentra la fila de la instancia para clonar.
- En la columna Acciones, haz clic en el menú Más acciones .
- Haz clic en Crear clon.
- En la página Crear una clonación, completa las siguientes acciones:
- En el campo ID de instancia, actualiza el ID de instancia, si es necesario.
- Selecciona Clonar desde un momento anterior.
- En el campo Momento determinado, selecciona una fecha y una hora a partir de las cuales deseas clonar los datos. Esto recupera el estado de la instancia desde ese momento.
- Haz clic en Crear clon.
Mientras se inicializa el clon, vuelves a la página de la lista de instancias.
gcloud
Es posible que desees recuperar una instancia que no está disponible en una zona diferente porque no se puede acceder a la zona en la que se configuró la instancia.
gcloud sql instances clone SOURCE_INSTANCE_NAME TARGET_INSTANCE_NAME \ --point-in-time DATE_AND_TIME_STAMP \ --preferred-zone ZONE_NAME \ --preferred-secondary-zone SECONDARY_ZONE_NAME
La cuenta de servicio o usuario que ejecuta el comando gcloud sql instances clone
debe tener los permisos cloudsql.instances.clone y cloudsql.instances.create. Si quieres
obtener más información sobre los permisos necesarios para ejecutar comandos de gcloud CLI, consulta
Permisos de Cloud SQL.
REST v1
Es posible que desees recuperar una instancia que no está disponible en una zona diferente porque no se puede acceder a la zona en la que se configuró la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID del proyecto
- SOURCE_INSTANCE_ID: el ID de la instancia de origen
- TARGET_INSTANCE_ID: el ID de la instancia de destino
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/SOURCE_INSTANCE_NAME/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"destinationInstanceName": "TARGET_INSTANCE_ID"
}
}Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
La cuenta de servicio o usuario que usa el método de API instances.clone debe tener los permisos cloudsql.instances.clone y cloudsql.instances.create. Si quieres obtener más información sobre los permisos necesarios para usar los métodos de API, consulta Permisos de Cloud SQL.
REST v1beta4
Es posible que desees recuperar una instancia que no está disponible en una zona diferente porque no se puede acceder a la zona en la que se configuró la instancia.
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID del proyecto
- SOURCE_INSTANCE_ID: el ID de la instancia de origen
- TARGET_INSTANCE_ID: el ID de la instancia de destino
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/SOURCE_INSTANCE_NAME/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"destinationInstanceName": "TARGET_INSTANCE_ID"
}
}Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
La cuenta de servicio o usuario que usa el método de API instances.clone debe tener los permisos cloudsql.instances.clone y cloudsql.instances.create. Si quieres obtener más información sobre los permisos necesarios para usar los métodos de API, consulta Permisos de Cloud SQL.
Si intentas crear una clonación de PITR en un momento posterior al último momento recuperable, se mostrará el siguiente mensaje de error:
The timestamp for point-in-time recovery is after the latest recovery time of Timestamp of latest recovery time. Clone the instance with a time that's earlier than this recovery time.
Realiza PITR en una instancia borrada
Para usar la PITR y restablecer una instancia borrada, necesitarás lo siguiente:
- La marca de tiempo de PITR (
timestamp) a la que deseas restablecer tu instancia - el nombre de la instancia de destino
- La hora en que se borró la instancia de origen (
source-instance-deletion-time)
Solo puedes usar la PITR en una instancia borrada con gcloud CLI o la API de Cloud SQL. Para obtener más información, consulta Restablece una instancia borrada con una PITR.
gcloud
Copia de seguridad estándar
Cómo encontrar tu ventana de PITR
Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía para tu instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar una PITR.
Busca la eliminación de la instancia de origen
El source-instance-deletion-time y el log-retention-days de la
instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después
de que se borra. Para encontrar una lista de todas las copias de seguridad disponibles de tu instancia borrada, consulta
Enumera las copias de seguridad retenidas.
Una vez que identifiques la copia de seguridad que deseas usar, ejecuta el comando
gcloud sql backups describe
para obtener el source-instance-deletion-time.
Restablece con una PITR
Para restablecer la instancia borrada con una PITR, ejecuta el siguiente comando:
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP
Reemplaza lo siguiente:
SOURCE_INSTANCE_NAME: Es el nombre de la instancia de origen que deseas restablecer.NEW_INSTANCE_NAME: es el nombre de la instancia nueva.PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.SOURCE_INSTANCE_DELETION_TIMESTAMP: Es la marca de tiempo UTC de la hora en que se borró la instancia de origen, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
Copia de seguridad mejorada
Cómo encontrar tu ventana de PITR
Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía para tu instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar una PITR.
Cómo encontrar la fuente de datos
La fuente de datos de la instancia borrada se almacena con las copias de seguridad retenidas de tu instancia después de la eliminación. Para encontrar estos valores de tu instancia borrada, consulta Enumera todas las copias de seguridad en la backup vault de tu instancia.
Restablece con una PITR
Para restablecer la instancia borrada con una PITR, ejecuta el siguiente comando:
gcloud sql instances point-in-time-restore DATA_SOURCE \
TARGET_INSTANCE_NAME \
'PITR_TIMESTAMP' \
--project=TARGET_PROJECT \
--region=REGION
Reemplaza lo siguiente:
DATA_SOURCE: Es la ruta de acceso dedata-sourcepara la copia de seguridad más cercana a la marca de tiempo de la PITR a la que deseas restablecer.TARGET_INSTANCE_NAME: Es el nombre de la instancia nueva que crea la operación de PITR.PITR_TIMESTAMP: Es la marca de tiempo UTC del registro de PITR de la instancia de origen a la que deseas restablecer la instancia, en formato RFC 3339. Por ejemplo, 2025-11-15T16:19:00.094Z.TARGET_PROJECT: Es el ID del proyecto de la instancia nueva.REGION: Es la región de la instancia de destino. Este campo es obligatorio si la fuente de datos de la instancia de origen se encuentra en una multirregión. La región de la instancia de destino debe ser la misma que la región de la instancia de origen.
REST v1
Cómo encontrar tu ventana de PITR
Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía para tu instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar una PITR.
Busca la hora de eliminación de la instancia de origen y los días de retención de registros
El source-instance-deletion-time y el log-retention-days de la
instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después
de que se borra. Para encontrar estos valores de tu instancia borrada, consulta
Enumera las copias de seguridad retenidas.
Restablece con una PITR
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: Es el ID del proyecto.
- target-instance-id: el ID de la instancia de destino
- source-instance-id: el ID de la instancia de origen
- source-instance-deletion-time: Es la hora de eliminación de la instancia de origen.
- restore-timestamp El momento al que deseas restablecer la instancia
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
REST v1beta4
Cómo encontrar tu ventana de PITR
Para encontrar el período de PITR de la instancia borrada, obtén la hora de recuperación más temprana y más tardía para tu instancia. Puedes seleccionar cualquier marca de tiempo en esta ventana para realizar la PITR.
Busca la hora de eliminación de la instancia de origen y los días de retención de registros
El source-instance-deletion-time y el log-retention-days de la
instancia borrada se almacenan con las copias de seguridad retenidas de tu instancia después
de que se borra. Para encontrar estos valores de tu instancia borrada, consulta
Enumera las copias de seguridad retenidas.
Restablece con la PITR
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: Es el ID del proyecto.
- target-instance-id: el ID de la instancia de destino
- source-instance-id: el ID de la instancia de origen
- source-instance-deletion-time: Es la hora de eliminación de la instancia de origen.
- restore-timestamp El momento al que deseas restablecer la instancia
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Realiza una PITR con posiciones de registros binarios
Si bien te recomendamos que realices una PITR con marcas de tiempo, como se describe en Realiza una PITR con una marca de tiempo, también puedes realizar una PITR si proporcionas una posición de registro binario específica o una posición de evento en un archivo de registro binario.
Para obtener más información sobre PITR con posiciones de registros binarios, consulta PITR con el registro binario.
Antes de comenzar
Para llevar a cabo esta tarea, debes contar con lo siguiente:
Registro binario y copias de seguridad habilitados para la instancia, con registros binarios continuos desde la última copia de seguridad antes del evento del que deseas recuperarte. Para obtener más información, consulta Habilita el registro binario.
Los registros binarios deben estar disponibles en el disco para que puedas explorarlos en busca de eventos. Para verificar la duración de la retención de tus registros binarios en el disco, consulta Configura la retención del registro de transacciones. Para obtener más información, consulta Período de retención de registros. No puedes explorar los registros binarios que se almacenan en Cloud Storage con la utilidad
mysqlbinlog.Un nombre de archivo de un registro binario y la posición del evento del que deseas recuperarte (ese evento y todos los posteriores no se reflejarán en la nueva instancia). Para obtener más información, consulta Identifica la posición del registro binario.
Después de identificar el nombre del archivo de registro binario y la posición, realiza PITR mediante posiciones de eventos del registro binario.
Identifica la posición de recuperación
Usa el cliente MySQL a fin de conectarte a la instancia que deseas restablecer.
Para hacerlo, usa Cloud Shell o la máquina cliente local. Si deseas obtener más información, consulta Opciones de conexión para aplicaciones externas.
Muestra los archivos de registro binarios para la instancia:
SHOW BINARY LOGS;Muestra los primeros 100 eventos en el archivo de registro binario más reciente:
SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' LIMIT 100;Puedes ajustar la cantidad de filas que se muestran, pero no muestres todos los eventos en el archivo hasta que sepas cuál es el tamaño del archivo. Mostrar una gran cantidad de eventos puede afectar el rendimiento del sistema.
Si el evento que buscas no aparece, usa la última posición que se muestra como punto de partida para buscar el siguiente conjunto de eventos:
SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' FROM <POSITION> LIMIT 100;Cuando encuentres el evento que marca el momento al que deseas restablecerte, registra la posición (se muestra como
Pos) y el nombre del archivo de registro binario.El nombre de archivo del registro binario y la posición son los valores que debes usar para PITR.
A continuación, se muestra un resultado de ejemplo del comando SHOW BINLOG EVENTS:
+------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+ | Log_name | Pos | Event_type | Server_id | End_log_pos | Info | +------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+ | mysql-bin.000011 | 4 | Format_desc | 88955285 | 120 | Server ver: 5.6.30-log, Binlog ver: 4 | | mysql-bin.000011 | 120 | Query | 88955285 | 211 | create database db1 | | mysql-bin.000011 | 211 | Query | 88955285 | 310 | use `db1`; CREATE TABLE t (c CHAR(20)) | | mysql-bin.000011 | 310 | Query | 88955285 | 381 | BEGIN | | mysql-bin.000011 | 381 | Table_map | 88955285 | 426 | table_id: 18 (db1.t) | | mysql-bin.000011 | 310 | Query | 88955285 | 381 | BEGIN | | mysql-bin.000011 | 426 | Write_rows | 88955285 | 464 | table_id: 18 flags: STMT_END_F | | mysql-bin.000011 | 464 | Xid | 88955285 | 495 | COMMIT /* xid=56 */ | | mysql-bin.000011 | 495 | Query | 88955285 | 566 | BEGIN | | mysql-bin.000011 | 566 | Table_map | 88955285 | 611 | table_id: 18 (db1.t) | | mysql-bin.000011 | 611 | Write_rows | 88955285 | 649 | table_id: 18 flags: STMT_END_F | | mysql-bin.000011 | 649 | Xid | 88955285 | 680 | COMMIT /* xid=57 */ | | mysql-bin.000011 | 680 | Query | 88955285 | 751 | BEGIN | | mysql-bin.000011 | 751 | Table_map | 88955285 | 796 | table_id: 18 (db1.t) | | mysql-bin.000011 | 796 | Write_rows | 88955285 | 834 | table_id: 18 flags: STMT_END_F | | mysql-bin.000011 | 834 | Xid | 88955285 | 865 | COMMIT /* xid=58 */ | | mysql-bin.000011 | 865 | Query | 88955285 | 977 | use `db1`; DROP TABLE `t` /* generated by server */ | +------------------+-----+-------------+-----------+-------------+-----------------------------------------------------+ 16 rows in set (0.04 sec)
Para restablecer hasta la sentencia DROP TABLE, en negrita en el ejemplo anterior, usarías 865 en mysql-bin.000011 como la posición de recuperación. La sentencia DROP TABLE y todas las operaciones posteriores
no se reflejan en la instancia nueva.
Realiza PITR mediante posiciones de eventos del registro binario
gcloud
Usa el comando gcloud sql instances clone con las marcas --bin-log-file-name y --bin-log-position.
-
Crea la instancia nueva con el nombre de archivo del registro binario y la posición de recuperación.
Reemplaza lo siguiente:
- SOURCE_INSTANCE_NAME: Es el nombre de la instancia desde la que restableces.
- NEW_INSTANCE_NAME: El nombre de la clonación.
- BINLOG_FILE_NAME: Nombre para el registro binario, como
mysql-bin.187288. - POSITION: La posición en el registro binario al que se debe restablecer, como
50001356.
gcloud sql instances clone SOURCE_INSTANCE_NAME \ NEW_INSTANCE_NAME \ --bin-log-file-name="BINLOG_FILE_NAME" \ --bin-log-position=POSITION
Por ejemplo, un comando
gcloud sql instances clonepuede ser similar al siguiente:gcloud sql instances clone instance1 \ instance1-clone \ --bin-log-file-name=mysql-bin.0000031 \ --bin-log-position=107
- Usa el ID de operación que muestra el comando
clonepara verificar el estado de la operación de restablecimiento.gcloud sql operations describe OPERATION_ID
Cuando la operación está en curso, se muestra el estado
RUNNING. Cuando se completa la operación, se muestra el estadoDONE.
REST v1
Crea la instancia nueva con el nombre del archivo de registro binario y la posición de recuperación que identificaste:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- binary-log-file-name: El nombre del archivo de registro binario
- binary-log-position: La posición dentro del archivo de registro binario
Método HTTP y URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"binLogCoordinates":
{
"kind": "sql#binLogCoordinates",
"binLogFileName": "binary-log-file-name",
"binLogPosition": "binary-log-position"
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
REST v1beta4
Crea la instancia nueva con el nombre de archivo del registro binario y la posición de recuperación que identificaste:
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- project-id: El ID del proyecto
- target-instance-id: El ID de la instancia de destino
- source-instance-id: El ID de la instancia de origen
- binary-log-file-name: El nombre del archivo de registro binario
- binary-log-position: La posición dentro del archivo de registro binario
Método HTTP y URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Cuerpo JSON de la solicitud:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"binLogCoordinates":
{
"kind": "sql#binLogCoordinates",
"binLogFileName": "binary-log-file-name",
"binLogPosition": "binary-log-position"
}
}
}
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
Obtén el tiempo de recuperación más antiguo y el más reciente
Para una instancia disponible, puedes realizar una PITR en cualquier marca de tiempo de la ventana de PITR de la instancia. El período de PITR comienza en el momento de recuperación más temprano y finaliza en el momento de recuperación más tardío. Si la instancia no está disponible y los registros de la instancia se almacenan en Cloud Storage, o si se borró la instancia y tenía habilitada la retención de PITR, puedes recuperar la hora de recuperación más temprana y más reciente, y realizar la PITR en cualquier marca de tiempo de ese período. En todos los casos, puedes restablecer la instancia en una zona principal o secundaria diferente proporcionando valores para las zonas preferidas.
gcloud
Instancia no disponible
Para obtener la hora más temprana y la más tardía a la que puedes recuperar una instancia de Cloud SQL que no está disponible, ejecuta el siguiente comando:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME
Reemplaza lo siguiente:
INSTANCE_NAME: Es el nombre de la instancia para la que deseas encontrar el tiempo de recuperación más reciente.
Instancia borrada
Para obtener la hora más temprana y más tardía a la que puedes recuperar una instancia borrada de Cloud SQL, ejecuta el siguiente comando:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME \
--source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'
Reemplaza lo siguiente:
INSTANCE_NAME: Es el nombre de la instancia para la que deseas encontrar el tiempo de recuperación más reciente.SOURCE_INSTANCE_DELETION_TIMESTAMP: Es la marca de tiempo UTC de la hora en que se borró la instancia de origen, en formato RFC 3339. Por ejemplo, 2012-11-15T16:19:00.094Z.
REST v1
Instancia no disponible
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID del proyecto
- INSTANCE_NAME: Es el nombre de la instancia para la que consultas el tiempo de recuperación más reciente.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instancia borrada
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto.
- INSTANCE_NAME: Es el nombre de la instancia de origen para la que consultas el tiempo de recuperación más reciente.
- SOURCE_INSTANCE_DELETION_TIME: la hora en que se borró la instancia de origen
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
REST v1beta4
Instancia no disponible
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: el ID del proyecto
- INSTANCE_NAME: Es el nombre de la instancia para la que consultas el tiempo de recuperación más reciente.
Método HTTP y URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instancia borrada
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID del proyecto.
- INSTANCE_NAME: Es el nombre de la instancia de origen para la que consultas el tiempo de recuperación más reciente.
- SOURCE_INSTANCE_DELETION_TIME: la hora en que se borró la instancia de origen
Método HTTP y URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar tu solicitud, expande una de estas opciones:
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Solucionar problemas
| Problema | Soluciona problemas |
|---|---|
|
O
|
La marca de tiempo que proporcionaste no es válida. |
|
O
|
La marca de tiempo que proporcionaste se debe a una hora en la que no se pudieron encontrar las copias de seguridad o las coordenadas binlog. |
¿Qué sigue?
- Configura marcas en tu clonación.