Memulihkan instance
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menjelaskan cara memulihkan instance Anda dari cadangan.
Sebagai informasi, praktik terbaik, dan persyaratan untuk operasi pemulihan, lihat
Ringkasan pemulihan instance .
Memulihkan dari cadangan sesuai permintaan atau otomatis
Anda dapat menggunakan cadangan sesuai permintaan atau otomatis untuk skenario berikut:
Memulihkan ke instance lain dalam project yang sama
Memulihkan ke instance yang sama tempat cadangan diambil
Memulihkan ke instance lain dalam project atau region yang berbeda
Jika Anda mengaktifkan pemulihan point-in-time (PITR) , Anda dapat memulihkan instance Anda ke titik waktu tertentu, berdasarkan setelan retensi log untuk instance Anda.
Catatan: Pemulihan pada waktu tertentu hanya didukung untuk instance baru dalam project dan region yang sama.
Memulihkan ke instance yang berbeda
Saat Anda memulihkan data dari cadangan ke instance lain, Anda akan memperbarui data pada
instance target ke status instance sumber saat Anda
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 mengetahui informasi selengkapnya, lihat
Melihat cadangan selama pemadaman layanan .
Peringatan : Proses pemulihan akan menimpa semua data
terkini pada instance, termasuk log pemulihan point-in-time (PITR)
sebelumnya. Pencadangan otomatis dan sesuai permintaan sebelumnya di instance akan dipertahankan.
Konsol
Di konsol Google Cloud , buka halaman Instance Cloud SQL .
Buka Instance Cloud SQL
Jika instance target memiliki replika baca, maka
gunakan menu tindakan lainnya untuk menghapusnya.
Untuk membuka halaman Ringkasan instance, klik nama instance.
Dari menu navigasi SQL, pilih Cadangan .
Temukan cadangan yang ingin Anda pulihkan, lalu klik Pulihkan .
Di halaman Pulihkan instance dari cadangan , konfirmasi bahwa Anda telah memilih cadangan yang benar di Tinjau detail cadangan .
Di Pilih tujuan pemulihan , pilih Timpa instance yang ada .
Dari menu Instance yang akan diganti , pilih instance yang ingin
Anda gunakan untuk pemulihan. Instance yang Anda pilih dan semua datanya akan ditimpa.
Untuk mengonfirmasi pilihan Anda, masukkan nama instance yang akan diganti di kolom ID instance tujuan .
Untuk memulai proses pemulihan, klik Pulihkan .
Untuk memeriksa status operasi pemulihan, buka halaman
Operasi untuk instance.
Setelah operasi pemulihan selesai, buat ulang replika apa pun yang telah Anda hapus
dalam prosedur ini.
gcloud
Untuk menentukan apakah instance target memiliki replika baca, gunakan perintah gcloud sql instances describe
:
gcloud sql instances describe TARGET_INSTANCE_NAME
Perhatikan setiap instance yang tercantum di kolom replicaNames
.
Untuk menghapus semua replika, gunakan perintah gcloud sql instances delete
:
gcloud sql instances delete REPLICA_NAME
Ulangi untuk setiap replika.
Untuk mencantumkan cadangan untuk instance sumber, gunakan perintah gcloud sql backups list
:
gcloud sql backups list \
--instance SOURCE_INSTANCE_NAME
Temukan cadangan yang ingin Anda gunakan dan catat nilai ID
-nya.
Catatan: Pilih cadangan yang memiliki status
SUCCESSFUL
.
Untuk memulihkan instance target dari cadangan, gunakan perintah gcloud sql backups restore
:
gcloud sql backups restore BACKUP_ID \
--restore-instance= TARGET_INSTANCE_NAME \
--backup-instance= SOURCE_INSTANCE_NAME
Setelah operasi pemulihan selesai, buat ulang replika apa pun yang telah Anda hapus dalam prosedur ini.
REST v1
Untuk menentukan apakah instance memiliki replika baca dan untuk mendapatkan ID replika ini, cantumkan semua replika untuk instance target .
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_ID : project ID
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:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"replicaNames": [
"REPLICA_NAME "
]
}
Hapus semua replika.
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_ID : the project ID
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:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "[email protected] ",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
Ulangi untuk setiap replika.
Untuk mendapatkan ID
cadangan yang ingin Anda gunakan, buat daftar cadangan untuk instance sumber .
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:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "backup-id ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
-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 : the project ID
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:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/backupRuns"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/-/backupRuns" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"kind": "sql#backupRun",
"status": "SUCCESSFUL",
"enqueuedTime": "2020-01-21T11:25:33.818Z",
"id": "BACKUP_ID ",
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
"type": "AUTOMATED",
"windowStartTime": "2020-01-21T10:00:00.479Z",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_ID ",
"location": "us"
"backupKind": "SNAPSHOT"
}
Temukan cadangan untuk instance yang perlu Anda pulihkan.
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:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d @request.json \ "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan
gcloud auth list
.
Simpan isi permintaan dalam file bernama request.json
,
dan jalankan perintah berikut:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -ContentType: "application/json; charset=utf-8" ` -InFile request.json ` -Uri "https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Respons
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "[email protected] ",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
Setelah operasi pemulihan selesai, buat ulang replika apa pun yang telah Anda hapus dalam prosedur ini.
REST v1beta4
Untuk menentukan apakah instance memiliki replika baca dan untuk mendapatkan ID replika ini, cantumkan semua replika untuk instance target .
Sebelum menggunakan salah satu data permintaan,
lakukan penggantian berikut:
PROJECT_ID : project ID
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:
curl (Linux, macOS, atau Cloud Shell)
Catatan:
Perintah berikut mengasumsikan bahwa Anda telah login ke
gcloud
CLI menggunakan akun pengguna Anda dengan menjalankan
gcloud init
atau
gcloud auth login
, atau dengan menggunakan Cloud Shell ,
yang secara otomatis membuat Anda login ke gcloud
CLI
.
Anda dapat memeriksa akun yang saat ini aktif dengan menjalankan