Pode usar a recuperação num determinado momento (PITR) para restaurar as suas instâncias primárias do Cloud SQL, quer a instância esteja ativa ou eliminada. A PITR permite-lhe restaurar a instância para um momento específico. Para uma instância eliminada, pode restaurar a instância para um ponto específico no tempo numa instância nova ou existente.
O Cloud SQL oferece as seguintes opções para restaurar a sua instância através do PITR:
Para realizar uma PITR numa instância indisponível ou eliminada, tem de encontrar o tempo de recuperação mais recente e mais antigo.
Faça uma PITR
Consola
-
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
- Abra o menu de mais ações
para a instância que quer recuperar e clique em Criar clone. - Opcionalmente, na página Criar um clone, atualize o ID do novo clone.
- Selecione Clonar a partir de um ponto anterior no tempo.
- Introduza uma hora de PITR.
- Selecione Todas as bases de dados ou especifique um nome de base de dados.
Se especificar um nome da base de dados, só pode selecionar um. Por predefinição, a PITR destina-se a todas as bases de dados. - Clique em Criar clone.
gcloud
Crie um clone através da PITR.
Substitua o seguinte:
- SOURCE_INSTANCE_NAME - Nome da instância a partir da qual está a fazer a restauração.
- NEW_INSTANCE_NAME: nome do clone.
- TIMESTAMP: fuso horário UTC da instância de origem no formato RFC 3339. Por exemplo, 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 qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância da origem
- restore-timestamp O ponto no tempo até ao qual restaurar
No pedido JSON, pode especificar opcionalmente até um nome de base de dados específico da seguinte forma: "databaseNames": "my-database"
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Corpo JSON do pedido:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
REST v1beta4
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância da origem
- restore-timestamp O ponto no tempo até ao qual restaurar
No pedido JSON, pode especificar opcionalmente até um nome de base de dados específico da seguinte forma: "databaseNames": "my-database"
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Corpo JSON do pedido:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"pointInTime": "restore-timestamp"
}
}
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Faça uma PITR através do cofre de cópias de segurança
Se a sua instância do Cloud SQL estiver ativada para usar cópias de segurança melhoradas, pode fazer uma recuperação num ponto específico no tempo para a sua instância através do cofre de cópias de segurança.
Consola
Na Google Cloud consola, aceda à página Instâncias do Cloud SQL.
Abra o menu de mais ações
para a instância que quer recuperar e clique em Criar clone.Selecione Clonar a partir de um ponto anterior no tempo.
Introduza uma hora de PITR.
Clique em Criar clone.
gcloud
Para fazer uma PITR numa instância a partir do cofre de cópias de segurança, tem de encontrar o
data-source da cópia de segurança mais próxima da hora em que quer fazer
a PITR. Para encontrar a cópia de segurança, consulte o artigo
Liste todas as cópias de segurança no cofre de cópias de segurança de uma instância. Depois de identificar a cópia de segurança, execute o seguinte comando para realizar a PITR:
gcloud sql instances point-in-time-restore DATA_SOURCE
PITR_TIMESTAMP
--project=TARGET_PROJECT
Substitua o seguinte:
- DATA_SOURCE: o caminho do
data-sourcepara a cópia de segurança mais próxima da data/hora da PITR para a qual quer fazer a recuperação. - PITR_TIMESTAMP: a data/hora UTC do registo PITR da instância de origem para o qual quer restaurar a instância, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
- TARGET_PROJECT: o ID do projeto da sua instância do Cloud SQL.
REST v1
REST v1beta4
Realize a PITR numa instância eliminada
Para usar a PITR para restaurar uma instância eliminada, precisa do seguinte:
- A data/hora da PITR (
timestamp) para a qual quer restaurar a sua instância - O nome da instância de destino
- A hora em que a instância de origem foi eliminada (
source-instance-deletion-time)
Só pode usar a PITR numa instância eliminada através da CLI gcloud ou da API Cloud SQL. Para mais informações, consulte o artigo Restaure uma instância eliminada através de uma PITR.
gcloud
Encontre a sua janela PITR
Para encontrar o período de PITR da instância eliminada, obtenha a hora de recuperação mais antiga e mais recente da instância. Pode selecionar uma data/hora em qualquer altura nesta janela para fazer uma PITR.
Encontre a hora de eliminação da instância de origem e os dias de retenção dos registos
Os valores source-instance-deletion-time e log-retention-days da instância eliminada são armazenados com as cópias de segurança retidas da sua instância após a eliminação. Para encontrar estes valores para a sua instância eliminada, consulte o artigo
Liste as cópias de segurança retidas.
Restaure através de um PITR
Para restaurar a instância eliminada através de uma PITR, execute o seguinte comando:
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP
Substitua o seguinte:
SOURCE_INSTANCE_NAME: o nome da instância de origem que quer restaurar.NEW_INSTANCE_NAME: o nome da nova instância.PITR_TIMESTAMP: a data/hora UTC do registo PITR da instância de origem para o qual quer restaurar a instância, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.SOURCE_INSTANCE_DELETION_TIMESTAMP: a indicação de tempo UTC para a hora em que a instância de origem foi eliminada, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
REST v1
Encontre a sua janela PITR
Para encontrar o período de PITR da instância eliminada, obtenha a hora de recuperação mais antiga e mais recente da instância. Pode selecionar uma data/hora em qualquer altura nesta janela para fazer uma PITR.
Encontre a hora de eliminação da instância de origem e os dias de retenção dos registos
Os valores source-instance-deletion-time e log-retention-days da instância eliminada são armazenados com as cópias de segurança retidas da sua instância após a eliminação. Para encontrar estes valores para a sua instância eliminada, consulte o artigo
Liste as cópias de segurança retidas.
Restaure através de um PITR
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância de origem
- source-instance-deletion-time: a hora de eliminação da instância da origem
- restore-timestamp o momento específico em que quer restaurar a instância
Método HTTP e URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone
Corpo JSON do pedido:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
REST v1beta4
Encontre a sua janela PITR
Para encontrar o período de PITR da instância eliminada, obtenha a hora de recuperação mais antiga e mais recente da instância. Pode selecionar uma data/hora em qualquer altura nesta janela para fazer uma PITR.
Encontre a hora de eliminação da instância de origem e os dias de retenção dos registos
Os valores source-instance-deletion-time e log-retention-days da instância eliminada são armazenados com as cópias de segurança retidas da sua instância após a eliminação. Para encontrar estes valores para a sua instância eliminada, consulte o artigo
Liste as cópias de segurança retidas.
Restaure com a PITR
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- project-id: o ID do projeto
- target-instance-id: o ID da instância de destino
- source-instance-id: o ID da instância de origem
- source-instance-deletion-time: a hora de eliminação da instância da origem
- restore-timestamp o momento específico em que quer restaurar a instância
No pedido JSON, pode especificar opcionalmente até um nome de base de dados específico da seguinte forma: "databaseNames": "my-database"
Método HTTP e URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone
Corpo JSON do pedido:
{
"cloneContext":
{
"kind": "sql#cloneContext",
"destinationInstanceName": "target-instance-id",
"sourceInstanceDeletionTime: "source-instance-deletion-time",
"pointInTime": "restore-timestamp"
}
}
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Obtenha o tempo de recuperação mais cedo e mais tarde
Para uma instância disponível, pode executar uma PITR para qualquer data/hora no período de PITR da instância. O período de PITR começa na hora de recuperação mais antiga e termina na hora de recuperação mais recente. Se a instância estiver indisponível e os registos da instância estiverem armazenados no Cloud Storage, ou se a instância tiver sido eliminada e tiver a retenção de PITR ativada, pode obter a hora de recuperação mais antiga e mais recente, e executar a PITR para qualquer data/hora nesse período. Em todos os casos, pode restaurar a instância para uma zona principal ou secundária diferente fornecendo valores para as zonas preferenciais.
gcloud
Instância indisponível
Para saber a hora mais antiga e mais recente até à qual pode recuperar uma instância do Cloud SQL que não esteja disponível, execute o seguinte comando:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME
Substitua o seguinte:
INSTANCE_NAME: o nome da instância para a qual quer encontrar o tempo de recuperação mais recente.
Instância eliminada
Para saber a hora mais antiga e mais recente até à qual pode recuperar uma instância eliminada do Cloud SQL, execute o seguinte comando:
gcloud sql instances get-latest-recovery-time INSTANCE_NAME
--source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'
Substitua o seguinte:
INSTANCE_NAME: o nome da instância para a qual quer encontrar o tempo de recuperação mais recente.SOURCE_INSTANCE_DELETION_TIMESTAMP: a indicação de tempo UTC para a hora em que a instância de origem foi eliminada, no formato RFC 3339. Por exemplo, 2012-11-15T16:19:00.094Z.
REST v1
Instância indisponível
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_NAME: o nome da instância para a qual está a consultar o tempo de recuperação mais recente
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instância eliminada
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_NAME: o nome da instância de origem para a qual está a consultar o tempo de recuperação mais recente
- SOURCE_INSTANCE_DELETION_TIME: a hora em que a instância de origem foi eliminada
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
REST v1beta4
Instância indisponível
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_NAME: o nome da instância para a qual está a consultar o tempo de recuperação mais recente
Método HTTP e URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Instância eliminada
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- PROJECT_ID: o ID do projeto
- INSTANCE_NAME: o nome da instância de origem para a qual está a consultar o tempo de recuperação mais recente
- SOURCE_INSTANCE_DELETION_TIME: a hora em que a instância de origem foi eliminada
Método HTTP e URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
{
"kind": "sql#getLatestRecoveryTime",
"earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
"latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}
Resolver problemas
| Problema | Resolução de problemas |
|---|---|
|
OU
|
A data/hora que indicou é inválida. |
|
OU
|
A data/hora que indicou corresponde a um momento em que não foi possível encontrar cópias de segurança nem coordenadas binlog. |
O que se segue?
- Configure as flags no clone