Melakukan pemulihan point-in-time (PITR)

Anda dapat menggunakan pemulihan point-in-time (PITR) untuk memulihkan instance Cloud SQL utama Anda, baik instance tersebut aktif maupun dihapus. PITR memungkinkan Anda memulihkan instance ke titik waktu tertentu. Untuk instance yang dihapus, Anda dapat memulihkan instance ke titik waktu tertentu ke instance baru atau yang ada.

Cloud SQL menyediakan opsi berikut untuk memulihkan instance Anda menggunakan PITR:

Untuk melakukan PITR pada instance yang tidak tersedia atau dihapus, Anda harus menemukan waktu pemulihan terbaru dan paling awal.

Melakukan PITR menggunakan stempel waktu

Menggunakan stempel waktu adalah pendekatan yang direkomendasikan untuk melakukan PITR. Cloud SQL menggunakan utilitas mysqlbinlog untuk memulihkan instance hingga waktu tertentu. Untuk mengetahui informasi selengkapnya tentang utilitas mysqlbinlog, lihat dokumentasi referensi MySQL.

Untuk menyelesaikan tugas berikut, Anda harus memiliki hal berikut:

  • Pencadangan dan logging biner diaktifkan untuk instance, dengan log biner berkelanjutan sejak pencadangan terakhir sebelum peristiwa yang ingin Anda pulihkan. Untuk informasi selengkapnya, lihat Mengaktifkan logging biner.
  • Stempel waktu untuk menentukan titik pemulihan. Peristiwa yang terjadi pada dan setelah stempel waktu ini tidak tercermin dalam instance baru.

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Buka menu tindakan lainnya Ikon tindakan lainnya. untuk instance yang ingin pulihkan, lalu klik Create clone.
  3. Secara opsional, di halaman Create a clone, perbarui ID clone baru tersebut.
  4. Pilih Clone dari titik waktu sebelumnya.
  5. Masukkan waktu PITR.
  6. Klik Buat clone.

gcloud

Buat clone menggunakan PITR.

Ganti kode berikut:

  • SOURCE_INSTANCE_NAME - Nama instance tempat Anda memulihkan.
  • NEW_INSTANCE_NAME - Nama untuk clone.
  • TIMESTAMP - Zona waktu UTC untuk instance sumber dalam format RFC 3339. Misalnya, 2012-11-15T16:19:00.094Z.
gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time 'TIMESTAMP'

REST v1

Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • restore-timestamp Point-in-time untuk memulihkan hingga

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

Sebelum menggunakan salah satu dari data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • restore-timestamp Point-in-time untuk memulihkan hingga

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "pointInTime": "restore-timestamp"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Melakukan PITR menggunakan vault cadangan

Jika instance Cloud SQL Anda diaktifkan untuk menggunakan cadangan yang ditingkatkan, Anda dapat melakukan pemulihan point-in-time untuk instance Anda menggunakan vault cadangan.

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Buka menu tindakan lainnya Ikon tindakan lainnya. untuk instance yang ingin Anda pulihkan, lalu klik Create clone.

  3. Pilih Clone dari titik waktu sebelumnya.

  4. Masukkan waktu PITR.

  5. Klik Buat clone.

gcloud

Untuk melakukan PITR pada instance dari vault cadangan, Anda harus menemukan data-source untuk cadangan yang paling mendekati waktu yang Anda inginkan untuk melakukan PITR. Untuk menemukan cadangan, lihat Mencantumkan semua cadangan di vault cadangan untuk instance. Setelah Anda mengidentifikasi cadangan, jalankan perintah berikut untuk melakukan PITR:

gcloud sql instances point-in-time-restore DATA_SOURCE
PITR_TIMESTAMP
--project=TARGET_PROJECT

Ganti kode berikut:

  • DATA_SOURCE: jalur data-source untuk cadangan yang paling mendekati stempel waktu PITR yang ingin Anda pulihkan.
  • PITR_TIMESTAMP: stempel waktu UTC untuk log PITR instance sumber yang ingin Anda gunakan untuk memulihkan instance, dalam format RFC 3339. Misalnya, 2012-11-15T16:19:00.094Z.
  • TARGET_PROJECT: project ID instance Cloud SQL Anda.

REST v1

REST v1beta4

Melakukan PITR pada instance yang tidak tersedia

Konsol

Anda mungkin ingin memulihkan instance yang tidak tersedia ke zona lain karena alasan berikut:

  • Zona tempat instance dikonfigurasi tidak dapat diakses. Instance ini memiliki status FAILED.
  • Instance sedang menjalani pemeliharaan. Instance ini memiliki status MAINTENANCE.

Untuk memulihkan instance yang tidak tersedia, selesaikan langkah-langkah berikut:

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan baris instance yang akan di-clone.
  3. Di kolom Tindakan, klik menu Tindakan Lainnya.
  4. Klik Buat clone.
  5. Di halaman Buat clone, selesaikan tindakan berikut:
    1. Di kolom ID Instance, perbarui ID instance, jika diperlukan.
    2. Klik Clone dari titik waktu sebelumnya.
    3. Di kolom Titik waktu tertentu, pilih tanggal dan waktu yang ingin Anda gunakan untuk melakukan clone data. Tindakan ini akan memulihkan status instance dari titik waktu tersebut.
    4. Klik Buat clone.
  6. Selagi clone tersebut melakukan inisialisasi, Anda akan dikembalikan ke halaman listingan instance.

gcloud

Anda mungkin ingin memulihkan instance yang tidak tersedia ke zona lain karena zona tempat instance dikonfigurasi tidak dapat diakses.

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

Pengguna atau akun layanan yang menjalankan perintah gcloud sql instances clone harus memiliki izin cloudsql.instances.clone. Untuk mengetahui informasi selengkapnya tentang izin yang diperlukan guna menjalankan perintah gcloud CLI, lihat Izin Cloud SQL.

REST v1

Anda mungkin ingin memulihkan instance yang tidak tersedia ke zona lain karena zona tempat instance dikonfigurasi tidak dapat diakses.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • SOURCE_INSTANCE_ID: ID instance sumber
  • TARGET_INSTANCE_ID: ID instance target

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/SOURCE_INSTANCE_NAME/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "destinationInstanceName": "TARGET_INSTANCE_ID"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Pengguna atau akun layanan yang menggunakan metode API instances.clone harus memiliki izin cloudsql.instances.clone. Untuk mengetahui informasi selengkapnya tentang izin yang diperlukan untuk menggunakan metode API, lihat Izin Cloud SQL.

REST v1beta4

Anda mungkin ingin memulihkan instance yang tidak tersedia ke zona lain karena zona tempat instance dikonfigurasi tidak dapat diakses.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • SOURCE_INSTANCE_ID: ID instance sumber
  • TARGET_INSTANCE_ID: ID instance target

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/SOURCE_INSTANCE_NAME/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "destinationInstanceName": "TARGET_INSTANCE_ID"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Pengguna atau akun layanan yang menggunakan metode API instances.clone harus memiliki izin cloudsql.instances.clone. Untuk mengetahui informasi selengkapnya tentang izin yang diperlukan untuk menggunakan metode API, lihat Izin Cloud SQL.

Jika Anda mencoba membuat clone PITR pada waktu setelah waktu pemulihan terbaru, maka pesan error berikut akan muncul:

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.

Melakukan PITR pada instance yang dihapus

Untuk menggunakan PITR guna memulihkan instance yang dihapus, Anda memerlukan:

  • stempel waktu PITR (timestamp) yang ingin Anda gunakan untuk memulihkan instance
  • nama instance target
  • waktu instance sumber dihapus (source-instance-deletion-time)

Anda hanya dapat menggunakan PITR pada instance yang dihapus menggunakan gcloud CLI atau Cloud SQL API. Untuk mengetahui informasi selengkapnya, lihat Memulihkan instance yang dihapus menggunakan PITR.

gcloud

Menemukan periode PITR Anda

Untuk menemukan periode PITR instance yang dihapus, dapatkan waktu pemulihan paling awal dan terbaru untuk instance Anda. Anda dapat memilih stempel waktu kapan saja di jendela ini untuk melakukan PITR.

Menemukan waktu penghapusan instance sumber dan hari retensi log

source-instance-deletion-time dan log-retention-days untuk instance yang dihapus disimpan dengan cadangan yang dipertahankan untuk instance Anda setelah penghapusan. Untuk menemukan nilai ini untuk instance yang dihapus, lihat Mencantumkan cadangan yang dipertahankan.

Memulihkan menggunakan PITR

Untuk memulihkan instance yang dihapus menggunakan PITR, jalankan perintah berikut:

gcloud sql instances clone SOURCE_INSTANCE_NAME \
NEW_INSTANCE_NAME \
--point-in-time='PITR_TIMESTAMP' \
--source-instance-deletion-time=SOURCE_INSTANCE_DELETION_TIMESTAMP

Ganti kode berikut:

  • SOURCE_INSTANCE_NAME: nama instance sumber yang ingin Anda pulihkan.
  • NEW_INSTANCE_NAME: nama instance baru.
  • PITR_TIMESTAMP: stempel waktu UTC untuk log PITR instance sumber yang ingin Anda gunakan untuk memulihkan instance, dalam format RFC 3339. Misalnya, 2012-11-15T16:19:00.094Z.
  • SOURCE_INSTANCE_DELETION_TIMESTAMP: stempel waktu UTC untuk waktu saat instance sumber dihapus, dalam format RFC 3339. Misalnya, 2012-11-15T16:19:00.094Z.

REST v1

Menemukan periode PITR Anda

Untuk menemukan periode PITR instance yang dihapus, dapatkan waktu pemulihan paling awal dan terbaru untuk instance Anda. Anda dapat memilih stempel waktu kapan saja di jendela ini untuk melakukan PITR.

Menemukan waktu penghapusan instance sumber dan hari retensi log

source-instance-deletion-time dan log-retention-days untuk instance yang dihapus disimpan dengan cadangan yang dipertahankan untuk instance Anda setelah penghapusan. Untuk menemukan nilai ini untuk instance yang dihapus, lihat Mencantumkan cadangan yang dipertahankan.

Memulihkan menggunakan PITR

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: the project ID
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • source-instance-deletion-time: waktu penghapusan instance sumber
  • restore-timestamp point-in-time yang ingin Anda gunakan untuk memulihkan instance

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "sourceInstanceDeletionTime: "source-instance-deletion-time",
    "pointInTime": "restore-timestamp"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

Menemukan periode PITR Anda

Untuk menemukan periode PITR instance yang dihapus, dapatkan waktu pemulihan paling awal dan terbaru untuk instance Anda. Anda dapat memilih stempel waktu kapan saja di jendela ini untuk melakukan PITR.

Menemukan waktu penghapusan instance sumber dan hari retensi log

source-instance-deletion-time dan log-retention-days untuk instance yang dihapus disimpan dengan cadangan yang dipertahankan untuk instance Anda setelah penghapusan. Untuk menemukan nilai ini untuk instance yang dihapus, lihat Mencantumkan cadangan yang dipertahankan.

Memulihkan menggunakan PITR

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: the project ID
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • source-instance-deletion-time: waktu penghapusan instance sumber
  • restore-timestamp point-in-time yang ingin Anda gunakan untuk memulihkan instance

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "sourceInstanceDeletionTime: "source-instance-deletion-time",
    "pointInTime": "restore-timestamp"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Melakukan PITR menggunakan posisi log biner

Meskipun sebaiknya Anda melakukan PITR menggunakan stempel waktu, seperti yang dijelaskan dalam Melakukan PITR menggunakan stempel waktu, Anda juga dapat melakukan PITR dengan memberikan posisi log biner tertentu, atau posisi peristiwa, dalam file log biner.

Untuk mengetahui informasi selengkapnya tentang PITR menggunakan posisi log biner, lihat PITR Menggunakan Log Biner.

Sebelum memulai

Sebelum menyelesaikan tugas ini, Anda harus memiliki:

  • Pencadangan dan logging biner diaktifkan untuk instance, dengan log biner berkelanjutan sejak pencadangan terakhir sebelum peristiwa yang ingin Anda pulihkan. Untuk informasi selengkapnya, lihat Mengaktifkan logging biner.

  • Log biner harus tersedia di disk agar Anda dapat menjelajahinya untuk menemukan peristiwa. Untuk memeriksa durasi retensi log biner Anda di disk, lihat Periode retensi log. Anda tidak dapat menjelajahi log biner yang disimpan di Cloud Storage dengan utilitas mysqlbinlog.

  • Nama file log biner dan posisi peristiwa yang ingin Anda pulihkan (peristiwa tersebut dan semua peristiwa yang muncul setelah tidak tercermin dalam instance baru). Untuk informasi selengkapnya, lihat Mengidentifikasi posisi log biner.

    Setelah mengidentifikasi nama file dan posisi log biner, lakukan PITR menggunakan posisi peristiwa log biner.

Mengidentifikasi posisi pemulihan

  1. Gunakan klien MySQL untuk terhubung ke instance yang ingin Anda pulihkan.

    Untuk melakukannya, gunakan Cloud Shell atau mesin klien lokal Anda. Untuk informasi selengkapnya, lihat Opsi koneksi untuk aplikasi eksternal.

  2. Tampilkan file log biner untuk instance:

    SHOW BINARY LOGS;
    
  3. Tampilkan 100 peristiwa pertama dalam file log biner terbaru:

    SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' LIMIT 100;
    

    Anda dapat menyesuaikan jumlah baris yang ditampilkan, tetapi tidak menampilkan semua peristiwa dalam file sampai Anda mengetahui ukuran file tersebut. Menampilkan banyak peristiwa dapat memengaruhi performa sistem.

  4. Jika peristiwa yang Anda cari tidak ditampilkan, gunakan posisi terakhir yang ditampilkan sebagai titik awal untuk menelusuri kumpulan peristiwa berikutnya:

    SHOW BINLOG EVENTS IN '<BINARY_LOG_FILE>' FROM <POSITION> LIMIT 100;
    
  5. Ketika Anda menemukan peristiwa yang menandai titik waktu yang ingin Anda pulihkan, catat posisinya (ditunjukkan sebagai Pos) dan nama file log biner.

    Nama file log biner dan posisi adalah nilai yang Anda gunakan untuk PITR.

Berikut adalah contoh output dari perintah 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)

Untuk memulihkan hingga pernyataan DROP TABLE, yang dicetak tebal dalam contoh sebelumnya, Anda harus menggunakan 865 di mysql-bin.000011 sebagai posisi pemulihan. Pernyataan DROP TABLE dan semua operasi setelahnya tidak tercermin dalam instance baru.

Melakukan PITR menggunakan posisi peristiwa log biner

gcloud

Gunakan perintah gcloud sql instances clone dengan tanda --bin-log-file-name dan --bin-log-position.

  1. Buat instance baru menggunakan nama file log biner dan posisi pemulihan.

    Ganti kode berikut:

    • SOURCE_INSTANCE_NAME: Nama instance tempat Anda memulihkan.
    • NEW_INSTANCE_NAME: Nama untuk clone.
    • BINLOG_FILE_NAME: Nama untuk log biner, seperti mysql-bin.187288.
    • POSITION: Posisi dalam log biner yang akan dipulihkan, seperti 50001356.
    gcloud sql instances clone SOURCE_INSTANCE_NAME \
    NEW_INSTANCE_NAME \
    --bin-log-file-name="BINLOG_FILE_NAME" \
    --bin-log-position=POSITION

    Misalnya, perintah gcloud sql instances clone mungkin terlihat mirip dengan yang berikut ini:

    gcloud sql instances clone instance1 \
    instance1-clone \
    --bin-log-file-name=mysql-bin.0000031 \
    --bin-log-position=107 \
  2. Gunakan ID operasi yang ditampilkan dari perintah clone untuk memeriksa status operasi pemulihan.
    gcloud sql operations describe OPERATION_ID

    Saat operasi sedang berlangsung, status RUNNING akan ditampilkan. Setelah operasi selesai, status DONE akan ditampilkan.

REST v1

Buat instance baru menggunakan nama file log biner dan posisi pemulihan yang telah Anda identifikasi:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • binary-log-file-name Nama file log biner
  • binary-log-position Posisi dalam file log biner

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/source-instance-id/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "binLogCoordinates":
    {
      "kind": "sql#binLogCoordinates",
      "binLogFileName": "binary-log-file-name",
      "binLogPosition": "binary-log-position"
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

REST v1beta4

Buat instance baru menggunakan nama file log biner dan posisi pemulihan yang telah Anda identifikasi:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • binary-log-file-name Nama file log biner
  • binary-log-position Posisi dalam file log biner

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/source-instance-id/clone

Meminta isi JSON:

{
  "cloneContext":
  {
    "kind": "sql#cloneContext",
    "destinationInstanceName": "target-instance-id",
    "binLogCoordinates":
    {
      "kind": "sql#binLogCoordinates",
      "binLogFileName": "binary-log-file-name",
      "binLogPosition": "binary-log-position"
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON yang mirip dengan yang berikut ini:

Mendapatkan waktu pemulihan paling awal dan terbaru

Untuk instance yang tersedia, Anda dapat melakukan PITR ke stempel waktu mana pun dalam periode PITR instance. Interval PITR dimulai pada waktu pemulihan paling awal dan berakhir pada waktu pemulihan paling akhir. Jika instance tidak tersedia dan log instance disimpan di Cloud Storage, atau instance dihapus dan retensi PITR diaktifkan, Anda dapat mengambil waktu pemulihan paling awal dan terbaru, serta melakukan PITR ke stempel waktu mana pun dalam periode tersebut. Dalam semua kasus, Anda dapat memulihkan instance ke zona primer atau sekunder yang berbeda dengan memberikan nilai untuk zona yang diinginkan.

gcloud

Instance tidak tersedia

Untuk mendapatkan waktu paling awal dan terbaru untuk memulihkan instance Cloud SQL yang tidak tersedia, jalankan perintah berikut:

gcloud sql instances get-latest-recovery-time INSTANCE_NAME

Ganti kode berikut:

  • INSTANCE_NAME: nama instance yang ingin Anda temukan waktu pemulihan terbarunya.

Instance yang dihapus

Untuk mendapatkan waktu paling awal dan terbaru untuk memulihkan instance Cloud SQL yang dihapus, jalankan perintah berikut:

gcloud sql instances get-latest-recovery-time INSTANCE_NAME
--source-instance-deletion-time='SOURCE_INSTANCE_DELETION_TIMESTAMP'

Ganti kode berikut:

  • INSTANCE_NAME: nama instance yang ingin Anda temukan waktu pemulihan terbarunya.
  • SOURCE_INSTANCE_DELETION_TIMESTAMP: stempel waktu UTC untuk waktu saat instance sumber dihapus, dalam format RFC 3339. Misalnya, 2012-11-15T16:19:00.094Z.

REST v1

Instance tidak tersedia

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_NAME: nama instance yang dibuatkan kueri untuk waktu pemulihan terakhir

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Instance yang dihapus

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: the project ID
  • INSTANCE_NAME: nama instance sumber yang dibuatkan kueri untuk waktu pemulihan terakhir
  • SOURCE_INSTANCE_DELETION_TIME: waktu saat instance sumber dihapus

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

REST v1beta4

Instance tidak tersedia

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_NAME: nama instance yang dibuatkan kueri untuk waktu pemulihan terakhir

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Instance yang dihapus

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: the project ID
  • INSTANCE_NAME: nama instance sumber yang dibuatkan kueri untuk waktu pemulihan terakhir
  • SOURCE_INSTANCE_DELETION_TIME: waktu saat instance sumber dihapus

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/getLatestRecoveryTime

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#getLatestRecoveryTime",
  "earliestRecoveryTime": "2023-06-10T17:23:59.648821586Z",
  "latestRecoveryTime": "2023-06-20T17:23:59.648821586Z"
}

Memecahkan masalah

Masalah Pemecahan masalah

argument --point-in-time: Failed to parse date/time:
Unknown string format: 2021-0928T30:54:03.094;
received: 2021-0928T30:54:03.094Z

ATAU

Invalid value at 'body.clone_context.point_in_time'
(type.googleapis.com/google.protobuf.Timestamp), Field 'pointInTime',
Invalid time format: Failed to parse input,

Stempel waktu yang Anda berikan tidak valid.

HTTP Error 400: Successful backup required for carrying out the operation was not found.

ATAU

Successful backup required for carrying out the operation was not found. or Time where no backups can be found.

Stempel waktu yang Anda berikan adalah untuk waktu saat cadangan atau saat koordinat binlog tidak dapat ditemukan.

Langkah berikutnya