אתם יכולים לשחזר את המופע מגיבוי ולשחזר אותו לפרק זמן מסוים במופע חדש או קיים. אפשר לשחזר אירוע בשידור חי או אירוע שנמחק. מידע נוסף על תהליך השחזור זמין במאמר סקירה כללית על שחזור .
כדי לשחזר מכונה באמצעות גיבוי, צריך לבצע את הפעולות הבאות:
מאתרים את הגיבוי שרוצים לשחזר.
שימוש בגיבוי לשחזור המופע
המיקום של הגיבוי תלוי באפשרות הגיבוי של המופע.
שחזור של מכונה פעילה
אפשר לשחזר גיבוי באחת מהדרכים הבאות:
שחזור לאותו מופע
כשמשחזרים נתונים מגיבוי לאותו מופע, הנתונים במופע חוזרים למצב שבו הם היו כשביצעתם את הגיבוי.
אזהרה: תהליך השחזור מחליף את כל הנתונים הנוכחיים במופע, כולל יומני שחזור קודמים לנקודת זמן מסוימת (PITR). הגיבויים הקודמים על פי דרישה והגיבויים האוטומטיים במופע יישמרו.
כדי לשחזר את המכונה באמצעות גיבוי לאותה מכונה, מבצעים את הפעולות הבאות:
המסוף
נכנסים לדף Cloud SQL Backups במסוף Google Cloud .
מעבר לגיבויים של Cloud SQL
בדף Backups (גיבויים), לוחצים על Standard tier (רמת שירות רגילה) או על Enhanced tier (רמת שירות משופרת), בהתאם לאפשרות הגיבוי של המופע.
אם המופע שלכם משתמש בגיבויים רגילים, בוחרים את המופע שרוצים לראות את הגיבויים שלו.
אם המופע שלכם משתמש בגיבויים משופרים, בוחרים באפשרות Enhanced tier ואז בוחרים בכספת גיבוי שמכילה את הגיבוי שרוצים להשתמש בו. מוצגים כל הגיבויים שזמינים בכספת הגיבוי עבור המופע שנבחר.
מחפשים את שם הגיבוי שרוצים לשחזר ולוחצים על שחזור .
הערה: לפני השחזור, צריך למחוק את כל הרפליקות של מכונת היעד.
בקטע בחירת יעד לשחזור , בוחרים באפשרות החלפת מופע המקור .
בשדה Destination instance ID (מזהה מכונת היעד), מזינים את שם המכונה שרוצים להחליף כדי לאשר את הבחירה.
לוחצים על שחזור .
מערכת Cloud SQL משחזרת את הגיבוי לאותה מכונה. כדי לבדוק את הסטטוס של פעולת השחזור, עוברים לדף Operations של המופע.
אחרי שפעולת השחזור מסתיימת, אפשר ליצור כל מספר של עותקים משוכפלים.
gcloud
לפני שמשחזרים, צריך למחוק את כל העותקים המשוכפלים מהמופע.
כדי לבדוק אם למכונה יש רפליקות לקריאה, משתמשים בפקודה gcloud sql instances describe :
gcloud sql instances describe INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
אם המופע מכיל רפליקות, צריך למחוק את הרפליקות באמצעות הפקודה gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
מחליפים את מה שכתוב בשדות הבאים:
REPLICA_NAME : השם של הרפליקה.
מוצאים את הגיבוי שרוצים להשתמש בו.
אם המופע שלכם משתמש בגיבויים רגילים, משתמשים בפקודה
gcloud sql backups list
כדי למצוא גיבוי ולרשום את הערך ID שלו:
gcloud sql backups list INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
אם המופע שלכם משתמש בגיבויים משופרים, כדאי לעיין במאמר בנושא הצגת כל הגיבויים בכספת גיבויים .
כדי לשחזר את המכונה מהגיבוי שצוין, משתמשים בפקודה gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=BACKUP_ID
מחליפים את מה שכתוב בשדות הבאים:
BACKUP_ID : המזהה של הגיבוי שרוצים לשחזר.
INSTANCE_NAME : השם של המכונה.
אחרי שהפעולה של השחזור מסתיימת, צריך ליצור מחדש את כל העותקים המשוכפלים שמחקתם בתהליך הזה.
REST v1
כדי לבדוק אם למכונה יש רפליקות לקריאה ולקבל את המזהים שלהן, מציגים רשימה של כל הרפליקות של המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
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)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"replicaNames": [
"REPLICA_NAME "
]
}
מחיקת כל העותקים המשוכפלים של המופע:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
REPLICA_ID : מזהה הרפליקה
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"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 "
}
מאתרים את המזהה של הגיבוי שרוצים להשתמש בו.
אם המופע משתמש בגיבויים רגילים, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
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)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"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"
}
משחזרים את המכונה מהגיבוי:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
BACKUP_ID מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_ID ",
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/INSTANCE_ID /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"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 "
}
אחרי שתהליך השחזור מסתיים, צריך ליצור מחדש את כל העותקים המשוכפלים שנמחקו בתהליך הזה.
REST v1beta4
כדי לבדוק אם למכונה יש רפליקות לקריאה ולקבל את המזהים שלהן, מציגים רשימה של כל הרפליקות של המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"replicaNames": [
"REPLICA_NAME "
]
}
מחיקת כל העותקים המשוכפלים של המופע:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
REPLICA_ID : מזהה הרפליקה
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
מאתרים את המזהה של הגיבוי שרוצים להשתמש בו.
אם המופע משתמש בגיבויים רגילים, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"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/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
משחזרים את המכונה מהגיבוי:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
BACKUP_RUN_ID : חותמת תאריך ושעה של מועד השחזור של המכונה מגיבוי ב-Cloud SQL
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
"restoreBackupContext":
{
"backupRunId": "BACKUP_RUN_ID ",
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
אחרי שתהליך השחזור מסתיים, צריך ליצור מחדש את כל העותקים המשוכפלים שנמחקו בתהליך הזה.
שחזור למכונה חדשה או קיימת
כשמשחזרים נתונים מגיבוי למכונה אחרת, הנתונים במכונת היעד מתעדכנים למצב של מכונת המקור בזמן שבו בוצע הגיבוי.
אם אתם צריכים רשימה של גיבויים לפרויקט ולא יכולים לראות אותם בדף סקירת המופע בגלל הפסקת שירות, אתם יכולים להשתמש ב-API backupRuns.list עם תו כללי לחיפוש (-). האפשרות של התו הכללי לחיפוש מאחזרת רשימה של כל הגיבויים בכל המופעים בפרויקט. מידע נוסף מופיע במאמר בנושא צפייה בגיבויים במהלך הפסקת שירות .
כדי לשחזר את המכונה למכונה חדשה או קיימת:
המסוף
נכנסים לדף Cloud SQL Backups במסוף Google Cloud .
מעבר לגיבויים של Cloud SQL
בדף Backups (גיבויים), לוחצים על Standard tier (רמת שירות רגילה) או על Enhanced tier (רמת שירות משופרת), בהתאם לאפשרות הגיבוי של המופע.
אם המופע שלכם משתמש בגיבויים רגילים, בוחרים את המופע שרוצים לראות את הגיבויים שלו.
אם המופע שלכם משתמש בגיבויים משופרים, בוחרים באפשרות Enhanced tier ואז בוחרים בכספת גיבוי שמכילה את הגיבוי שרוצים להשתמש בו. מוצגים כל הגיבויים שזמינים בכספת הגיבוי עבור המופע שנבחר.
מחפשים את שם הגיבוי שרוצים לשחזר ולוחצים על שחזור .
בקטע בחירת יעד לשחזור :
אם רוצים לשחזר את המופע למופע חדש, בוחרים באפשרות שחזור למופע חדש ומעדכנים את הפרטים הבאים:
בקטע אזור , מוודאים שהאזור נכון. האזור צריך להיות זהה לאזור של המכונה החדשה.
בתיבה Instance ID , נותנים שם למכונה החדשה. השם הזה הוא קבוע ואי אפשר לשנות אותו.
אם רוצים לשחזר את המכונה למכונה קיימת, בוחרים באפשרות החלפת מכונה קיימת ומבצעים את הפעולות הבאות:
הערה: לפני השחזור, צריך למחוק את כל הרפליקות של מכונת היעד.
בתפריט Instance to be overwritten (מופע להחלפה), בוחרים את המופע שרוצים להשתמש בו לשחזור. המופע שתבחרו וכל הנתונים שלו יימחקו.
בשדה מזהה מכונת היעד , מזינים את שם המכונה שרוצים להחליף כדי לאשר את הבחירה.
לוחצים על שחזור .
Cloud SQL ישחזר את הגיבוי למופע חדש או קיים, בהתאם לבחירה שלכם. כדי לבדוק את הסטטוס של פעולת השחזור, עוברים לדף Operations של המופע.
אחרי שפעולת השחזור מסתיימת, אפשר ליצור כל מספר של עותקים משוכפלים.
gcloud
אם אתם משחזרים למכונה קיימת, צריך למחוק את כל הרפליקות ממכונת היעד לפני השחזור.
כדי לבדוק אם למכונה יש רפליקות לקריאה, משתמשים בפקודה gcloud sql instances describe :
gcloud sql instances describe TARGET_INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
TARGET_INSTANCE_NAME : השם של המכונה.
אם המופע מכיל רפליקות, צריך למחוק את הרפליקות באמצעות הפקודה gcloud sql instances delete :
gcloud sql instances delete REPLICA_NAME
מחליפים את מה שכתוב בשדות הבאים:
REPLICA_NAME : השם של הרפליקה.
מוצאים את הגיבוי שרוצים להשתמש בו.
אם המופע שלכם משתמש בגיבויים רגילים, משתמשים בפקודה
gcloud sql backups list
כדי למצוא גיבוי ולרשום את הערך ID שלו:
gcloud sql backups list INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
אם המופע שלכם משתמש בגיבויים משופרים, כדאי לעיין במאמר בנושא הצגת כל הגיבויים בכספת גיבויים .
כדי לשחזר את המכונה מהגיבוי שצוין, משתמשים בפקודה gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME \
--backup-instance=SOURCE_INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
BACKUP_ID : המזהה של הגיבוי שרוצים לשחזר.
TARGET_INSTANCE_NAME : השם של מכונת היעד החדשה או הקיימת.
SOURCE_INSTANCE_NAME : השם של מופע המקור.
אם אתם משחזרים למופע קיים, אחרי השלמת פעולת השחזור, צריך ליצור מחדש את כל העותקים המשוכפלים שמחקתם בתהליך הזה.
REST v1
אם משתמשים במכונה קיימת, צריך למחוק את כל הרפליקות לפני השחזור. כדי לקבוע אם למכונה יש רפליקות לקריאה ולקבל את המזהים שלהן, מפרטים את כל הרפליקות של המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
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)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"replicaNames": [
"REPLICA_NAME "
]
}
מחיקת כל העותקים המשוכפלים של המופע:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
REPLICA_ID : מזהה הרפליקה
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"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 "
}
מאתרים את המזהה של הגיבוי שרוצים להשתמש בו.
אם המופע משתמש בגיבויים רגילים, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
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)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"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"
}
משחזרים את המכונה מהגיבוי:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
target-instance-id : מזהה מכונת היעד
source-instance-id : מזהה מכונת המקור
backup-id מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id /instances/target-instance-id /restoreBackup
תוכן בקשת JSON:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"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 "
}
אחרי שתהליך השחזור מסתיים, צריך ליצור מחדש את כל העותקים המשוכפלים שנמחקו בתהליך הזה.
REST v1beta4
כדי לבדוק אם למכונה יש רפליקות לקריאה ולקבל את המזהים שלהן, מציגים רשימה של כל הרפליקות של המכונה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"replicaNames": [
"REPLICA_NAME "
]
}
מחיקת כל העותקים המשוכפלים של המופע:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
REPLICA_ID : מזהה הרפליקה
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
מאתרים את המזהה של הגיבוי שרוצים להשתמש בו.
אם המופע משתמש בגיבויים רגילים, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"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/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
משחזרים את המכונה מהגיבוי:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
target-instance-id : מזהה מכונת היעד
source-instance-id : מזהה מכונת המקור
backup-id מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup
תוכן בקשת JSON:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"instanceId": "source-instance-id "
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/sql/v1beta4/projects/project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "operation-id ",
"targetId": "instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /operations/operation-id ",
"targetProject": "project-id "
}
אחרי שתהליך השחזור מסתיים, צריך ליצור מחדש את כל העותקים המשוכפלים שנמחקו בתהליך הזה.
שחזור למופע בפרויקט אחר
אפשר להשתמש בפרמטר project כדי לשחזר נתונים למופע בפרויקט אחר. כשמשחזרים מגיבוי למופע בפרויקט אחר, הנתונים במופע היעד מתעדכנים למצב של מופע המקור בזמן שיצרתם את הגיבוי.
למשתמש שמשחזר לפרויקט אחר צריכות להיות ההרשאות הבאות כדי לשחזר את המופע:
* הרשאה cloudsql.instances.restoreBackup לפרויקט היעד
* הרשאה cloudsql.backupRuns.get לפרויקט המקור.
ההרשאות האלה כלולות בתפקיד Cloud SQL Admin.
אזהרה: תהליך השחזור מחליף את כל הנתונים הנוכחיים במופע, כולל יומני שחזור קודמים לנקודת זמן מסוימת (PITR). הגיבויים הקודמים על פי דרישה והגיבויים האוטומטיים במופע יישמרו.
כדי לשחזר את המכונה באמצעות גיבוי למכונה בפרויקט או באזור אחר, צריך לבצע את הפעולות הבאות:
gcloud כדי לשחזר גיבוי מכספת גיבוי למכונה קיימת, מבצעים את הפעולות הבאות:
אם משחזרים למופע קיים, צריך לקבוע אם למופע היעד יש רפליקות לקריאה באמצעות הפקודה gcloud sql instances describe :
gcloud sql instance describe TARGET_INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
TARGET_INSTANCE_NAME : השם של מופע היעד שאליו רוצים לשחזר את הגיבוי.
כדי למחוק את כל העותקים המשוכפלים של מכונת היעד, משתמשים בפקודה gcloud sql instances delete :
gcloud sql instance delete REPLICA_NAME
מחליפים את מה שכתוב בשדות הבאים:
REPLICA_NAME : השם של הרפליקה של מכונת היעד.
כדי לשחזר למופע קיים, צריך למחוק את כל העותקים המשוכפלים.
מוצאים את הגיבוי שרוצים להשתמש בו.
אם המופע שלכם משתמש בגיבויים רגילים, משתמשים בפקודה
gcloud sql backups list
כדי למצוא גיבוי ולרשום את הערך ID שלו:
gcloud sql backups list INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
אם המופע שלכם משתמש בגיבויים משופרים, כדאי לעיין במאמר בנושא הצגת כל הגיבויים בכספת גיבויים .
כדי לשחזר למכונה חדשה או קיימת בפרויקט חדש, משתמשים בפקודה gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID
--restore-instance=TARGET_INSTANCE_NAME
--backup-instance=SOURCE_INSTANCE_NAME
--backup-project=SOURCE_INSTANCE_PROJECT
מחליפים את מה שכתוב בשדות הבאים:
BACKUP_ID : המזהה של הגיבוי מכספת הגיבוי. בשדה הזה צריך להזין את הנתיב המלא של הגיבוי.
TARGET_INSTANCE_NAME : המכונה בפרויקט היעד שאליו משחזרים את הנתונים.
SOURCE_INSTANCE_NAME : שם המכונה בפרויקט המקור שבו נמצאים הנתונים.
SOURCE_INSTANCE_PROJECT : הפרויקט שמכיל את מופע המקור.
REST v1
כדי לקבל את backupId, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id /instances/instance-id /backupRuns
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
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)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"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"
}
שחזור הגיבוי למופע בפרויקט אחר:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
source-project-id : מזהה פרויקט המקור
target-project-id : מזהה פרויקט היעד
target-instance-id : מזהה מכונת היעד
source-instance-id : מזהה מכונת המקור
backup-id מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id /restoreBackup
תוכן בקשת JSON:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"project": "source-project-id ",
"instanceId": "source-instance-id "
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
REST v1beta4
כדי לקבל את backupId, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
project-id : מזהה הפרויקט
instance-id : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"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/sql/v1beta4/projects/project-id /instances/instance-id /backupRuns/backup-id ",
"location": "us"
}
שחזור הגיבוי למופע בפרויקט אחר:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
source-project-id : מזהה פרויקט המקור
target-project-id : מזהה פרויקט היעד
target-instance-id : מזהה מכונת היעד
source-instance-id : מזהה מכונת המקור
backup-id מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup
תוכן בקשת JSON:
{
"restoreBackupContext":
{
"backupRunId": backup-id ,
"project": "source-project-id ",
"instanceId": "source-instance-id "
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/sql/v1beta4/projects/target-project-id /instances/target-instance-id /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /instances/target-instance-id ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_VOLUME",
"name": "operation-id ",
"targetId": "target-instance-id ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/target-project-id /operations/operation-id ",
"targetProject": "target-project-id "
}
שחזור מופע שנמחק
אתם יכולים להשתמש בגיבוי סופי או בגיבוי שנשמר כדי לשחזר מופע שנמחק בתרחישים הבאים:
שחזור למופע קיים
כשמשחזרים נתונים מגיבוי סופי או מגיבוי שנשמר למופע קיים, הנתונים במופע היעד מתעדכנים למצב של מופע המקור בזמן יצירת הגיבוי. מידע נוסף על שחזור מופע זמין במאמר טיפים כלליים לביצוע שחזור .
אזהרה: תהליך השחזור מחליף את כל הנתונים הנוכחיים במופע, כולל יומני שחזור קודמים לנקודת זמן מסוימת (PITR). גיבויים קודמים לפי דרישה וגיבויים אוטומטיים במופע נשמרים.
כדי לשחזר מופע שנמחק באמצעות גיבוי למופע קיים:
המסוף
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
כניסה לדף Cloud SQL Instances
אם במכונת היעד יש רפליקות לקריאה, משתמשים בתפריט 'פעולות נוספות' כדי למחוק אותן. כדי לשחזר גיבוי שנשמר או גיבוי סופי למופע הקיים, צריך למחוק את כל העותקים המשוכפלים.
נכנסים לדף Cloud SQL Backups במסוף Google Cloud .
מעבר לגיבויים של Cloud SQL
בדף Backups (גיבויים), לוחצים על Standard tier (רמת שירות רגילה) או על Enhanced tier (רמת שירות משופרת), בהתאם לאפשרות הגיבוי של המופע.
אם המופע שלכם משתמש בגיבויים רגילים, לוחצים על השם של המופע שנמחק ומכיל את הגיבוי שרוצים לשחזר.
אם המופע שלכם משתמש בגיבויים משופרים, בוחרים באפשרות רמה משופרת ואז בוחרים בכספת הגיבוי שמכילה את הגיבוי שרוצים להשתמש בו. מוצגים כל הגיבויים שזמינים בכספת הגיבוי עבור המופע שנבחר.
מחפשים את שם הגיבוי שרוצים לשחזר ולוחצים על שחזור .
בדף שחזור מופע מגיבוי , מוודאים שבחרתם את הגיבוי הנכון בבדיקת פרטי הגיבוי .
בקטע Choose restore destination , בוחרים באפשרות Overwrite an existing instance .
בתפריט Instance to be overwritten (מופע להחלפה), בוחרים את המופע שרוצים לשחזר את הגיבוי שלו. המופע שתבחרו וכל הנתונים שלו יוחלפו.
כדי לאשר את הבחירה, בשדה Destination instance ID , מזינים את שם המכונה שרוצים להחליף.
לוחצים על שחזור .
Cloud SQL ישחזר את הגיבוי למכונה הקיימת.
כדי לבדוק את הסטטוס של פעולת השחזור, עוברים לדף Operations של המופע.
אחרי שפעולת השחזור מסתיימת, אפשר ליצור כל מספר של עותקים משוכפלים.
gcloud
1 . When restoring to an existing instance , all replicas must be deleted
from your target instance prior to restoring .
Determine if your instance has any read replicas using the
[ ` gcloud sql instances describe ` ]( / sdk / gcloud / reference / sql / instances / describe )
command :
``` gcloud
gcloud sql instances describe TARGET_INSTANCE_NAME
```
Replace the following :
* ` TARGET_INSTANCE_NAME ` : the name of the instance .
If your instance contains replicas , then delete the replicas
using the
[ ` gcloud sql instances delete ` ]( / sdk / gcloud / reference / sql / instances / delete )
command :
``` gcloud
gcloud sql instances delete REPLICA_NAME
```
Replace the following :
* ` REPLICA_NAME ` : the name of the replica .
מוצאים את הגיבוי שרוצים להשתמש בו.
אם המופע שלכם משתמש בגיבויים רגילים, משתמשים בפקודה
gcloud sql backups list
כדי למצוא גיבוי ולרשום את הערך ID שלו:
gcloud sql backups list INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
אם המופע שלכם משתמש בגיבויים משופרים, כדאי לעיין במאמר בנושא הצגת כל הגיבויים בכספת גיבויים .
כדי לשחזר את המכונה מהגיבוי שצוין, משתמשים בפקודה gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
BACKUP_ID : המזהה של הגיבוי שרוצים לשחזר.
TARGET_INSTANCE_NAME : השם של מכונת היעד החדשה או הקיימת.
אחרי שתהליך השחזור מסתיים, צריך ליצור מחדש את כל העותקים המשוכפלים שנמחקו בתהליך הזה.
REST v1
כשמשחזרים למכונה קיימת, צריך למחוק את כל הרפליקות ממכונת היעד לפני השחזור. כדי לבדוק אם למופע יש רפליקות קריאה, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
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)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"replicaNames": [
"REPLICA_NAME "
]
}
מוחקים את כל העותקים לקריאה של המופע:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
REPLICA_ID : מזהה הרפליקה
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"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 "
}
מאתרים את המזהה של הגיבוי הסופי או הגיבוי שנשמר שרוצים להשתמש בו:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$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 /backups" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
משחזרים את מופע היעד מהגיבוי שנשמר או מהגיבוי הסופי.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
TARGET_INSTANCE_ID : מזהה מכונת היעד
BACKUP_ID : מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4
כשמשחזרים למכונה קיימת, צריך למחוק את כל הרפליקות ממכונת היעד לפני השחזור. כדי לבדוק אם למופע יש רפליקות קריאה, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
INSTANCE_ID : מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/INSTANCE_ID ?fields=replicaNames" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"replicaNames": [
"REPLICA_NAME "
]
}
מוחקים את כל העותקים לקריאה של המופע:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
REPLICA_ID : מזהה הרפליקה
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID "
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method DELETE ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID " | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/REPLICA_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "DELETE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "REPLICA_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
מאתרים את המזהה של הגיבוי הסופי או הגיבוי שנשמר שרוצים להשתמש בו:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
משחזרים את מופע היעד מהגיבוי שנשמר או מהגיבוי הסופי.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
TARGET_INSTANCE_ID : מזהה מכונת היעד
BACKUP_ID : מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
שחזור למופע חדש
כשיוצרים מכונה מגיבוי סופי או מגיבוי שנשמר, Cloud SQL משתמש בהגדרות התצורה של המכונה שממנה נוצר הגיבוי.
אחרי שהמכונה נוצרת, Cloud SQL משחזר את הנתונים למצב שבו הם היו בזמן יצירת הגיבוי.
כדי לשחזר נתונים מגיבוי סופי או מגיבוי שנשמר למופע חדש, אתם צריכים את ההרשאות הבאות:
הרשאת cloudsql.instances.create בפרויקט היעד
הרשאת cloudsql.instances.restoreBackup בפרויקט היעד
cloudsql.backupRuns.get permission לגיבוי המקור.
ההרשאות האלה כלולות בתפקיד אדמין של Cloud SQL.
הערה: למופע שיוצרים מהגיבוי הסופי יש כתובת IP שונה מזו של המופע שבו נוצר הגיבוי הסופי. מידע נוסף על שחזור מופע זמין במאמר טיפים כלליים לביצוע שחזור .
כדי לשחזר מופע שנמחק באמצעות גיבוי למופע חדש:
המסוף
נכנסים לדף Cloud SQL Backups במסוף Google Cloud .
מעבר לגיבויים של Cloud SQL
בדף Backups (גיבויים), לוחצים על Standard tier (רמת שירות רגילה) או על Enhanced tier (רמת שירות משופרת), בהתאם לאפשרות הגיבוי של המופע.
אם המופע שלכם משתמש בגיבויים רגילים, לוחצים על השם של המופע שנמחק ומכיל את הגיבוי שרוצים לשחזר.
אם המופע שלכם משתמש בגיבויים משופרים, בוחרים באפשרות Enhanced tier ואז בוחרים בכספת גיבוי שמכילה את הגיבוי שרוצים להשתמש בו. מוצגים כל הגיבויים שזמינים בכספת הגיבוי עבור המופע שנבחר.
מחפשים את שם הגיבוי שרוצים לשחזר ולוחצים על שחזור .
בדף שחזור מופע מגיבוי , מוודאים שבחרתם את הגיבוי הנכון בבדיקת פרטי הגיבוי .
בקטע Choose restore destination , בוחרים באפשרות Restore to a new instance .
בתפריט Region (אזור), בוחרים את האזור של המופע החדש.
בשדה Instance ID (מזהה המופע), מזינים מזהה למופע החדש.
אי אפשר לשנות את המזהה הזה אחרי שיוצרים אותו.
לוחצים על שחזור .
Cloud SQL ישחזר את הגיבוי למכונה הקיימת.
כדי לבדוק את הסטטוס של פעולת השחזור, עוברים לדף Operations של המופע.
gcloud
מוצאים את הגיבוי שרוצים להשתמש בו.
אם המופע שלכם משתמש בגיבויים רגילים, משתמשים בפקודה
gcloud sql backups list
כדי למצוא גיבוי ולרשום את הערך ID שלו:
gcloud sql backups list INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
אם המופע שלכם משתמש בגיבויים משופרים, כדאי לעיין במאמר בנושא הצגת כל הגיבויים בכספת גיבויים .
כדי לשחזר את המכונה מהגיבוי שצוין, משתמשים בפקודה gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID \
--restore-instance=TARGET_INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
BACKUP_ID : המזהה של הגיבוי שרוצים לשחזר.
TARGET_INSTANCE_NAME : השם של מכונת היעד החדשה או הקיימת.
REST v1 שחזור מכונה חדשה מהגיבוי הסופי או מהגיבוי שצוין
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
TARGET_INSTANCE_ID : מזהה מכונת היעד
BACKUP_ID : מזהה הגיבוי
הערה: שורת הקוד restore_instance_settings: {} מאפשרת ל-Cloud SQL לשחזר נתונים מהגיבוי למכונה החדשה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 שחזור מכונה חדשה מהגיבוי הסופי או מהגיבוי שצוין
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
TARGET_INSTANCE_ID : מזהה מכונת היעד
BACKUP_ID : מזהה הגיבוי
הערה: שורת הקוד restore_instance_settings: {} מאפשרת ל-Cloud SQL לשחזר נתונים מהגיבוי למכונה החדשה.
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
restore_instance_settings: {}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
שחזור למופע חדש או קיים בפרויקט אחר
אפשר להשתמש בפרמטר project כדי לשחזר נתונים למופע בפרויקט אחר. כשמשחזרים מופע שנמחק מגיבוי למופע בפרויקט אחר, מופע היעד מתעדכן למצב של מופע המקור בזמן שיצרתם את הגיבוי.
למשתמש שמשחזר לפרויקט אחר צריכות להיות ההרשאות הבאות כדי לשחזר את המופע:
* הרשאה cloudsql.instances.create לפרויקט היעד
* הרשאה cloudsql.instances.restoreBackup לפרויקט היעד
* הרשאה cloudsql.backupRuns.get permission לגיבוי המקור.
ההרשאות האלה כלולות בתפקיד Cloud SQL Admin.
אזהרה: תהליך השחזור מחליף את כל הנתונים הנוכחיים במופע, כולל יומני שחזור קודמים לנקודת זמן מסוימת (PITR). הגיבויים הקודמים על פי דרישה והגיבויים האוטומטיים במופע יישמרו.
כדי לשחזר את המכונה באמצעות גיבוי למכונה בפרויקט או באזור אחר, צריך לבצע את הפעולות הבאות:
gcloud
אם משחזרים למופע קיים, צריך לקבוע אם למופע היעד יש רפליקות לקריאה באמצעות הפקודה gcloud sql instances describe :
gcloud sql instance describe TARGET_INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
TARGET_INSTANCE_NAME : השם של מופע היעד שאליו רוצים לשחזר את הגיבוי.
כדי למחוק את כל העותקים המשוכפלים של מכונת היעד, משתמשים בפקודה gcloud sql instances delete :
gcloud sql instance delete REPLICA_NAME
מחליפים את מה שכתוב בשדות הבאים:
REPLICA_NAME : השם של הרפליקה של מכונת היעד.
כדי לשחזר למופע קיים, צריך למחוק את כל העותקים המשוכפלים.
מוצאים את הגיבוי שרוצים להשתמש בו.
אם המופע שלכם משתמש בגיבויים רגילים, משתמשים בפקודה
gcloud sql backups list
כדי למצוא גיבוי ולרשום את הערך ID שלו:
gcloud sql backups list INSTANCE_NAME
מחליפים את מה שכתוב בשדות הבאים:
INSTANCE_NAME : השם של המכונה.
אם המופע שלכם משתמש בגיבויים משופרים, כדאי לעיין במאמר בנושא הצגת כל הגיבויים בכספת גיבויים .
כדי לשחזר למכונה חדשה או קיימת בפרויקט חדש, משתמשים בפקודה gcloud sql backups restore :
gcloud sql backups restore BACKUP_ID
--restore-instance=TARGET_INSTANCE_NAME
--backup-instance=SOURCE_INSTANCE_NAME
--backup-project=SOURCE_INSTANCE_PROJECT
מחליפים את מה שכתוב בשדות הבאים:
BACKUP_ID : המזהה של הגיבוי מכספת הגיבוי. בשדה הזה צריך להזין את הנתיב המלא של הגיבוי.
TARGET_INSTANCE_NAME : המכונה בפרויקט היעד שאליו משחזרים את הנתונים.
SOURCE_INSTANCE_NAME : שם המכונה בפרויקט המקור שבו נמצאים הנתונים.
SOURCE_INSTANCE_PROJECT : הפרויקט שמכיל את מופע המקור.
REST v1 כדי לקבל את backupID של הגיבוי שנשמר או של הגיבוי הסופי, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$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 /backups" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
שחזור לפרויקט אחר
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
TARGET_INSTANCE_ID : מזהה מכונת היעד
BACKUP_ID : מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
REST v1beta4 כדי לקבל את backupID של הגיבוי שנשמר או של הגיבוי הסופי, מריצים את הפקודה הבאה:
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
מריצים את הפקודה הבאה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups"
PowerShell (Windows)
מריצים את הפקודה הבאה:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred" } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"name": "projects/PROJECT_ID /backups/BACKUP_ID ",
"kind": "sql#backup",
"state": "SUCCESSFUL",
"backupInterval": {
"startTime": "2020-01-21T11:25:33.858Z",
"endTime": "2020-01-21T11:26:18.663Z",
}
"type": "FINAL",
"instance": "INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /backups/BACKUP_ID ",
"location": "us"
"description": "This is a final backup.",
"backupKind": "SNAPSHOT",
"dataDiskSizeGB": "10",
"expiryTime": "2020-01-30T11:26:18.663Z",
"backup_run": "projects/PROJECT_ID /instances/INSTANCE_ID /backupRuns/BACKUP_RUN_ID ",
"satisfies_pzs": false,
"satisfies_pzi": false
}
שחזור לפרויקט אחר
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
PROJECT_ID : מזהה הפרויקט
TARGET_INSTANCE_ID : מזהה מכונת היעד
BACKUP_ID : מזהה הגיבוי
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup
תוכן בקשת JSON:
{
backup: projects/PROJECT_ID /backups/BACKUP_ID
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
Curl (Linux, macOS או Cloud Shell)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
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/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup"
PowerShell (Windows)
שומרים את גוף הבקשה בקובץ בשם request.json ומריצים את הפקודה הבאה:
$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/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID /restoreBackup" | Select-Object -Expand Content
אתם אמורים לקבל תגובת JSON שדומה לזו:
תשובה
{
"kind": "sql#operation",
"targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /instances/TARGET_INSTANCE_ID ",
"status": "PENDING",
"user": "user@example.com",
"insertTime": "2020-01-21T22:43:37.981Z",
"operationType": "RESTORE_BACKUP",
"name": "OPERATION_ID ",
"targetId": "TARGET_INSTANCE_ID ",
"selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID /operations/OPERATION_ID ",
"targetProject": "PROJECT_ID "
}
המאמרים הבאים
*
מידע נוסף על גיבוי הנתונים
*
איך מגבים את הנתונים