Memulihkan instance

Halaman ini menjelaskan cara memulihkan instance dari cadangan dan melakukan pemulihan point-in-time terhadap instance.

Untuk informasi praktik terbaik, dan persyaratan operasi pemulihan atau pemulihan point-in-time, lihat Ringkasan pemulihan instance.

Memulihkan instance dari cadangan

Anda dapat menggunakan cadangan untuk memulihkan instance yang sama dari tempat cadangan, atau Anda dapat menggunakan cadangan untuk memulihkan instance lain dalam project yang sama.

Memulihkan ke instance yang berbeda

Saat Anda melakukan pemulihan dari pencadangan ke instance lain, Anda akan memperbarui data pada instance target ke status instance sumber saat mengambil cadangan. Untuk informasi selengkapnya, lihat Tips umum cara melakukan pemulihan serta Tips dan persyaratan untuk memulihkan ke instance lain.

Jika Anda memerlukan daftar cadangan untuk project dan tidak dapat melihatnya di halaman ringkasan instance karena terjadi pemadaman layanan, Anda dapat menggunakan backupRuns.list API dengan karakter pengganti (-). Opsi karakter pengganti akan mengambil daftar semua cadangan di semua instance dalam project. Untuk informasi selengkapnya, lihat Melihat cadangan selama pemadaman layanan.

Konsol

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

    Buka Instance Cloud SQL

  2. Jika instance target memiliki replika baca, gunakan menu tindakan lainnya Ikon tindakan lainnya di sisi paling kanan untuk menghapusnya.
  3. Untuk membuka halaman Ringkasan instance, klik nama instance.
  4. Pilih Cadangan dari menu navigasi SQL.
  5. Temukan cadangan yang ingin Anda pulihkan, lalu pilih Pulihkan.
  6. Di halaman Memulihkan instance dari cadangan, pastikan Anda memilih cadangan yang benar di bagian Tinjau detail pencadangan.
  7. Di Pilih tujuan pemulihan, pilih Timpa instance yang ada.
  8. Dari menu drop-down Instance, pilih instance yang ingin Anda gunakan untuk pemulihan. Instance yang Anda pilih dan semua datanya akan ditimpa.
  9. Untuk mengonfirmasi pilihan Anda, masukkan nama instance yang akan ditimpa di kolom Destination instance ID.
  10. Untuk memulai proses pemulihan, klik Pulihkan.
  11. Periksa status operasi pemulihan dengan membuka tab Operations dari instance target.
  12. Setelah operasi pemulihan selesai, buat ulang replika yang telah dihapus sebelumnya.

gcloud

  1. Mendeskripsikan instance target untuk melihat apakah instance tersebut memiliki replika:
    gcloud sql instances describe TARGET_INSTANCE_NAME
    

    Perhatikan setiap instance yang tercantum di replicaNames.

  2. Menghapus semua replika:
    gcloud sql instances delete REPLICA_NAME
    

    Ulangi untuk setiap replika.

  3. Mencantumkan cadangan untuk instance sumber:
    gcloud sql backups list \
    --instance SOURCE_INSTANCE_NAME
    
  4. Temukan cadangan yang ingin Anda gunakan dan catat nilai ID-nya.
  5. Memulihkan dari cadangan tertentu ke instance target:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=TARGET_INSTANCE_NAME \
    --backup-instance=SOURCE_INSTANCE_NAME
        
  6. Setelah pemulihan selesai, buat ulang replika yang telah dihapus sebelumnya.

REST v1

  1. Mencantumkan semua replika untuk instance target.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=replicaNames

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

  2. Hapus semua replika.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • replica-id: ID replika

    Metode HTTP dan URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-id

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

    Ulangi untuk setiap replika.

  3. Buat daftar cadangan untuk instance sumber guna mendapatkan ID cadangan yang ingin Anda gunakan.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

    -ATAU- Jika instance Anda berada di region yang mengalami pemadaman, cantumkan semua cadangan dalam project:

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance, atau - untuk daftar semua cadangan dalam project

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/-/backupRuns

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

    Temukan cadangan untuk instance yang perlu dipulihkan.
  4. Pulihkan instance target dari cadangan.

    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
    • backup-id ID cadangan

    Metode HTTP dan URL:

    POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/target-instance-id/restoreBackup

    Meminta isi JSON:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan melihat respons JSON seperti berikut:

  5. Setelah operasi pemulihan selesai, buat ulang replika yang telah dihapus sebelumnya.

REST v1beta4

  1. Mencantumkan semua replika untuk instance target.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=replicaNames

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

  2. Hapus semua replika.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • replica-id: ID replika

    Metode HTTP dan URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-id

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

    Ulangi untuk setiap replika.

  3. Buat daftar cadangan untuk instance sumber guna mendapatkan ID cadangan yang ingin Anda gunakan.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

  4. Pulihkan instance target dari cadangan.

    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
    • backup-id ID cadangan

    Metode HTTP dan URL:

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

    Meminta isi JSON:

    {
      "restoreBackupContext":
      {
        "backupRunId": backup-id,
        "instanceId": "source-instance-id"
      }
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan melihat respons JSON seperti berikut:

  5. Setelah operasi pemulihan selesai, buat ulang replika yang telah dihapus sebelumnya.

Memulihkan ke instance yang sama

Saat Anda melakukan pemulihan dari cadangan ke instance yang sama, Anda mengembalikan data pada instance tersebut ke kondisi saat Anda membuat cadangan. Untuk mengetahui informasi tentang cara memulihkan instance, lihat Tips umum tentang cara melakukan pemulihan.

Konsol

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

    Buka Instance Cloud SQL

  2. Jika instance target memiliki replika baca, gunakan menu tindakan lainnya Ikon tindakan lainnya di sisi paling kanan untuk menghapusnya.
  3. Untuk membuka halaman Ringkasan instance, klik nama instance.
  4. Pilih Cadangan dari menu navigasi SQL.
  5. Temukan cadangan yang ingin Anda gunakan, lalu pilih Pulihkan.
  6. Di halaman Memulihkan instance dari cadangan, pastikan Anda memilih cadangan yang benar di bagian Tinjau detail pencadangan.
  7. Di Pilih tujuan pemulihan, pilih Timpa instance sumber.

    Pastikan nama instance sumber ditentukan dalam tanda kurung.

  8. Untuk mengonfirmasi pilihan Anda, masukkan nama instance di kolom ID instance tujuan.
  9. Untuk memulai proses pemulihan, klik Pulihkan.
  10. Periksa status operasi pemulihan dengan membuka halaman Operations instance.
  11. Setelah operasi pemulihan selesai, buat ulang replika apa pun yang telah Anda hapus pada langkah pertama.

gcloud

  1. Mendeskripsikan instance target untuk melihat apakah instance tersebut memiliki replika:
    gcloud sql instances describe INSTANCE_NAME
    

    Perhatikan setiap instance yang tercantum di replicaNames.

  2. Menghapus semua replika:
    gcloud sql instances delete REPLICA_NAME
    

    Ulangi untuk semua replika.

  3. Mencantumkan cadangan untuk instance:
    gcloud sql backups list --instance INSTANCE_NAME
    
  4. Temukan cadangan yang ingin Anda gunakan dan catat nilai ID-nya.
  5. Memulihkan instance dari cadangan tertentu:
    gcloud sql backups restore BACKUP_ID \
    --restore-instance=INSTANCE_NAME
    
  6. Setelah operasi pemulihan selesai, buat ulang replika apa pun yang telah Anda hapus pada langkah pertama.

REST v1

  1. Mencantumkan semua replika untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id?fields=replicaNames

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

  2. Hapus semua replika.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • replica-id: ID replika

    Metode HTTP dan URL:

    DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/replica-id

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

    Ulangi untuk setiap replika baca.

  3. Buat daftar cadangan untuk instance guna mendapatkan ID cadangan yang ingin Anda gunakan.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

  4. Memulihkan instance dari cadangan.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance
    • backup-id ID cadangan

    Metode HTTP dan URL:

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

    Meminta isi JSON:

    {
      "restoreBackupContext":
      {
        "backupRunId": "backup-id",
      }
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan melihat respons JSON seperti berikut:

  5. Setelah operasi pemulihan selesai, buat ulang replika yang telah dihapus sebelumnya.

REST v1beta4

  1. Mencantumkan semua replika untuk instance tersebut.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id?fields=replicaNames

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

  2. Hapus semua replika.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • replica-id: ID replika

    Metode HTTP dan URL:

    DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/replica-id

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

    Ulangi untuk setiap replika baca.

  3. Buat daftar cadangan untuk instance guna mendapatkan ID cadangan yang ingin Anda gunakan.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance

    Metode HTTP dan URL:

    GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

    Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

  4. Memulihkan instance dari cadangan.

    Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

    • project-id: ID project
    • instance-id: ID instance
    • backup-id ID cadangan

    Metode HTTP dan URL:

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

    Meminta isi JSON:

    {
      "restoreBackupContext":
      {
        "backupRunId": "backup-id",
      }
    }
    

    Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

    Anda akan melihat respons JSON seperti berikut:

  5. Setelah operasi pemulihan selesai, buat ulang replika yang telah dihapus sebelumnya.

Memulihkan ke instance dalam project lain

Anda dapat menggunakan parameter project untuk memulihkan data ke instance di project yang berbeda dengan tempat pencadangan diambil. Saat menggunakan parameter project, panggil restoreBackup dalam project dan pada instance yang ingin Anda pulihkan datanya. Saat Anda melakukan pemulihan dari cadangan ke instance lain, Anda akan memperbarui data pada instance target ke status instance sumber saat Anda mengambil cadangan.

Izin

Pengguna yang melakukan pemulihan ke project lain harus memiliki izin cloudsql.instances.restoreBackup untuk project target dan izin cloudsql.backupRuns.get untuk instance sumber. Izin ini tercakup dalam peran Cloud SQL Admin.

Untuk memulihkan data ke instance dalam project yang berbeda:

REST v1

Untuk mendapatkan backupId, jalankan berikut.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/backupRuns

Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

Memulihkan cadangan ke instance dalam project lain:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • source-project-id: ID project sumber
  • target-project-id: ID project target
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • backup-id ID cadangan

Metode HTTP dan URL:

POST https://sqladmin.googleapis.com/v1/projects/target-project-id/instances/target-instance-id/restoreBackup

Meminta isi JSON:

{
  "restoreBackupContext":
  {
    "backupRunId": backup-id,
    "project": "source-project-id",
    "instanceId": "source-instance-id"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Untuk informasi selengkapnya tentang properti project, lihat restoreBackup

REST v1beta4

Untuk mendapatkan backupId, jalankan berikut.

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • project-id: ID project
  • instance-id: ID instance

Metode HTTP dan URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/backupRuns

Untuk mengirim permintaan, perluas salah satu opsi berikut:

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

Memulihkan cadangan ke instance dalam project lain:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • source-project-id: ID project sumber
  • target-project-id: ID project target
  • target-instance-id: ID instance target
  • source-instance-id: ID instance sumber
  • backup-id ID cadangan

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "restoreBackupContext":
  {
    "backupRunId": backup-id,
    "project": "source-project-id",
    "instanceId": "source-instance-id"
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

Untuk informasi selengkapnya tentang properti project, lihat restoreBackup

Melakukan pemulihan point-in-time

Untuk melakukan pemulihan point-in-time, lihat Pemulihan point-in-time.

Mengidentifikasi posisi pemulihan

Sebelum melakukan pemulihan point-in-time, Anda harus sudah mengidentifikasi nama dan posisi file log biner yang sesuai dengan titik waktu yang Anda inginkan untuk memulihkan instance.

Untuk menyelesaikan tugas ini, lihat Mengidentifikasi posisi pemulihan.

Langkah selanjutnya