Cloud SQL 備份簡介

本頁面說明 Cloud SQL 執行個體的備份作業如何運作。您可以在主要執行個體上執行備份。

如需排定或管理備份作業的逐步操作說明,請參閱「建立及管理隨選和自動備份」。

如要瞭解如何從備份資料還原執行個體資料,請參閱還原執行個體總覽

備份的功能

您可以運用備份,將遺失的資料還原至 Cloud SQL 執行個體。此外,如果執行個體發生問題,您可以使用備份覆寫執行個體,將其還原至先前的狀態。如果執行個體含有必要資料,請啟用自動備份功能。備份功能可保護資料,避免遺失或毀損。

某些作業需要一起啟用自動備份及二進位檔記錄,例如複製與備用資源建立作業。

備份的費用

根據預設,除了隨選備份外,Cloud SQL 會為每個 Cloud SQL Enterprise 版本執行個體保留 7 個自動備份,並為每個 Cloud SQL Enterprise Plus 版本執行個體保留 15 個自動備份。您可以設定要保留的自動備份數量 (1 到 365 份)。備份儲存空間的費率低於其他類型的執行個體。

刪除執行個體時,您可以最終備份資料。這樣一來,您就能重新建立刪除的執行個體。不過,如果您未建立最終備份,Cloud SQL 會在刪除執行個體後一併刪除所有備份。詳情請參閱「復原備份」。

詳情請參閱定價頁面

備份與匯出

備份作業由 Cloud SQL 根據保留政策管理,並與 Cloud SQL 執行個體分開儲存。Cloud SQL 備份與上傳至 Cloud Storage 的匯出內容不同,後者由您管理生命週期。備份作業涵蓋整個資料庫。匯出時可選取特定內容。

備份和還原作業無法用於將資料庫升級至較新版本。您只能將備份還原至資料庫版本相同的執行個體。

如要升級至較新版本,請考慮使用資料庫移轉服務,或是匯出資料庫並匯入至新的 Cloud SQL 執行個體

備份大小說明

Cloud SQL 備份是累加備份。只包含上次備份後變更的資料。最舊的備份大小與資料庫大小相近,但後續備份的大小取決於資料的變更率。刪除最早的備份時,下一個最早備份的大小就會增加,所以仍然會有完整的備份。

你可以查看個別備份的大小。備份大小代表每個備份的計費大小。

備份類型

Cloud SQL 會執行三種備份:

隨選備份

您隨時都可以建立備份。這在某些情況下非常實用,例如您即將要在資料庫上執行具有風險性的作業時,或是您需要備份但不想等到備份期間再執行備份作業。不論執行個體是否已啟用自動備份功能,您都可以為任何執行個體建立隨選備份。.

系統不會自動刪除隨選備份,但會自動刪除自動備份。 它們會一直存在,直到您刪除隨選備份或刪除其執行個體為止。由於系統不會自動刪除隨選備份,因此長期下來可能會影響帳單費用。

自動備份

系統每天都會自動在 4 小時的備份時間範圍內擷取備份。備份作業會在備份期間開始,如果可以,請將備份安排在執行個體活動最少的時間執行。

建議您不要刪除任何自動備份,因為這些備份是時間點復原功能運作的必要條件。

在備份時間範圍內,執行個體每天都會自動備份。執行個體停止後,系統會再進行一次自動備份,確保執行個體停止前的所有變更都已備份。根據預設,系統最多會保留最近七個備份。您可以設定要保留的自動備份數量,範圍為 1 到 365。您可以變更備份和交易記錄的保留值,不必使用預設設定。瞭解詳情

最終備份

您可以在刪除 Cloud SQL 執行個體前,使用最終備份功能備份執行個體。這項功能有助於在刪除執行個體後保留執行個體資料。您之後可以使用最終備份資料建立執行個體,或還原至現有執行個體。如要進一步瞭解如何存取及查看最終備份的詳細資料,請參閱「查看最終備份清單」。

根據預設,Cloud SQL 會將最終備份保留 30 天。不過,您可以自訂 Cloud SQL 保留備份的時間,從 1 天到 365 天不等。只要備份可用,您就可以從備份還原執行個體。最終備份的費用與其他備份相同,會依保留天數計費。

與自動備份和隨選備份不同,最終備份與執行個體相關聯,且只有在執行個體存在時才能使用。Cloud SQL 刪除執行個體後,您仍可查看及使用最終備份進行還原作業。

保留的備份

保留的備份是指執行個體刪除後,Cloud SQL 保留的備份。這些備份包括執行個體運作時建立的隨選備份和自動備份。刪除執行個體後,這些備份檔會與執行個體脫鉤,並儲存在專案層級。保留的備份與最終備份不同,最終備份是指刪除執行個體時執行的最後一次備份。

您可以更新這些備份的說明,方便在 Google Cloud 專案中管理備份。您可以隨時將保留的備份還原至新的或現有的 Cloud SQL 執行個體

這類備份的保留期限取決於備份類型,且執行個體刪除後就無法變更。隨選備份會無限期保留,直到手動刪除備份,或刪除包含備份的專案為止。執行個體刪除後,系統會以每天一個備份的形式,自動刪除備份。系統會根據刪除前執行個體的保留設定,定義滾動期。舉例來說,如果執行個體的自動備份保留設定為 7,則系統會在執行個體刪除 7 天後,刪除最新的自動備份。

您隨時可以手動刪除保留的備份。不過,刪除保留的備份後,就無法復原。

由於 Cloud SQL 刪除執行個體後,執行個體名稱仍可使用,因此系統會將保留的備份檔儲存在您的 Google Cloud 專案中,並加上名為 instance_deletion_time 的欄位。這個欄位可讓您判斷特定備份屬於即時或已刪除的執行個體。你也可以更新備份的說明,方便管理備份。

如要進一步瞭解如何為新執行個體或現有執行個體啟用保留備份,請參閱「管理保留備份」。如要進一步瞭解如何從保留的備份還原執行個體,請參閱「從保留的備份還原」。

備份的儲存位置

備份位置包括:

  • Cloud SQL 會根據原始執行個體的位置選取預設位置
  • 自訂位置:不想使用預設位置時可選擇。

預設備份位置

如果您未指定儲存位置,備份會儲存在地理位置上最接近 Cloud SQL 執行個體位置的多地區中。舉例來說,如果您的 Cloud SQL 執行個體位於 us-central1,系統預設會將備份儲存在 us 多區域。不過,諸如 australia-southeast1 等預設位置不在多地區範圍內。最近的多地區為 asia

自訂備份位置

Cloud SQL 可讓您為備份資料選取自訂位置。如果貴機構必須遵守資料落地法規,規定備份資料只能存放在特定地理範圍內,這項功能就非常實用。如果貴機構有這類需求,可能使用資源位置限制機構政策。如果嘗試使用不符合政策的地理位置,系統會在「備份」頁面顯示警示。如果看到這則快訊,請將備份位置變更為政策允許的位置。

選取備份的自訂位置時,請注意下列事項:

  • 費用:執行個體中的某個叢集可能位於費用較低的區域。
  • 與應用程式伺服器的距離:建議您盡可能將備份資料儲存在鄰近服務應用程式的位置。
  • 儲存空間用量:備份檔案會越來越大,因此您需要足夠的儲存空間。視工作負載而定,叢集大小或磁碟用量可能有所不同。這可能會影響您選擇的叢集。

如需有效區域值的完整清單,請參閱執行個體位置。 如需多地區值的完整清單,請參閱多地區位置

如要進一步瞭解如何設定備份位置,以及查看執行個體使用的備份位置,請參閱「設定自訂備份位置」和「查看備份位置」。

自動備份和交易記錄保留

自動備份可用於還原 Cloud SQL 執行個體。系統會結合自動備份和交易記錄,執行時間點復原

設定保留期限後,自動備份最多可保留一年。隨選備份則會一直保留在伺服器上,直到您刪除備份或執行個體為止。

交易記錄是以天數計算,但自動備份不一定會在一天結束時執行。這些保留設定使用的單位不同。自動備份保留期限是計數,可設為 1 到 365 份備份。

交易記錄檔保留期限以天為單位。如果是 Cloud SQL Enterprise Plus 版執行個體,範圍為 1 至 35 天,預設為 14 天。如果是 Cloud SQL Enterprise 版本的執行個體,範圍為 1 到 7 天,預設為 7 天。無論是 Cloud SQL Enterprise Plus 版或 Cloud SQL Enterprise 版執行個體,交易記錄保留設定都必須低於備份保留設定。

下限適用於測試執行個體,因為系統會更快刪除記錄和備份。如果是交易記錄,磁碟大小不會隨著下限而大幅增加。如果自動備份保留期限較長,您就能還原較早時間的備份。

系統每天會清除記錄一次,而非持續清除。如果記錄保留天數與備份數量相同,可能會導致記錄保留時間不足。舉例來說,如果將記錄檔保留期限設為七天,備份保留期限設為七次備份,則系統會保留六到七天的記錄檔。

建議您將備份次數設為至少比記錄檔保留天數多一天,以確保記錄檔保留天數符合指定天數下限。

如果資料庫的寫入活動頻繁,可能會產生大量交易記錄,進而佔用大量磁碟空間,並導致啟用自動儲存空間增加功能的執行個體磁碟空間成長。建議您調整執行個體儲存空間大小,以保留交易記錄。

請參閱「設定自動備份保留期限」。

請參閱「設定交易記錄保留期限」。

我可以匯出備份嗎?

無法匯出備份。您只能匯出執行個體資料。請參閱「從 Cloud SQL 匯出資料」。

關於特殊備份使用者

Cloud SQL 會為每個執行個體建立專屬的資料庫使用者 cloudsqladmin,並為該使用者產生專屬的執行個體密碼。Cloud SQL 會以 cloudsqladmin 使用者身分登入,執行自動備份。

備份對執行個體作業的影響

如果是 MySQL 執行個體,系統不會使用 FLUSH TABLES WITH READ LOCK 標記建立備份,這代表寫入作業及其他作業皆不受備份作業影響。

備份作業通常會在兩分鐘內完成,但如果上次備份後寫入大量資料,備份作業就會需要較長時間。

如果在嘗試備份時有待處理的作業,Cloud SQL 通常會在時間範圍內多次嘗試完成備份。會封鎖備份作業的作業是長時間執行的 Cloud SQL 執行個體作業,例如匯入、匯出、更新 (例如執行個體中繼資料變更) 和重新啟動執行個體。如果頻繁或長時間執行的作業會在備份期間阻礙自動備份,請考慮在其他時間排定備份作業。

執行載入資料等長時間作業時,您可以暫時停用自動備份功能。

備份速率限制

Cloud SQL 會限制資料磁碟的備份作業速率。每個專案的每個執行個體每 50 分鐘最多可執行五項備份作業。如果備份作業失敗,不會計入這項配額。如果達到上限,作業就會失敗,並顯示錯誤訊息,說明何時可以重試。

讓我們看看 Cloud SQL 如何對備份作業執行速率限制。

Cloud SQL 會使用 bucket 中的權杖,判斷一次可進行的備份作業數量。每個執行個體都有一個 bucket。您最多可使用五個權杖進行備份作業。每 10 分鐘,系統會在值區中新增一個權杖。如果 bucket 已滿,權杖就會溢位。

每次發出備份作業時,系統都會從 bucket 授予權杖。如果作業成功,系統就會從區塊中移除權杖。如果失敗,權杖會退回 bucket。下圖說明運作方式:

權杖的運作方式

備份和資料完整性檢查

Cloud SQL 會自動執行背景資料庫完整性檢查,找出任何潛在的資料完整性問題。系統會還原客戶啟動的備份或復原備份樣本,以離線程序執行這些檢查。

復原備份

以及在刪除執行個體前建立最終資料備份。您也可以在刪除執行個體前啟用「保留備份」,保留所有自動和隨選備份。詳情請參閱「管理保留的備份資料」。

您可以從保留或最終備份還原至新執行個體、現有執行個體、不同專案中的執行個體,或另一個區域中的新執行個體。詳情請參閱「還原執行個體」。

如果自動備份政策沒有可用的備份,Cloud SQL 也會嘗試保留每個有效執行個體至少一個最後的良好每日備份。如要使用這項備份進行復原,請與 Google Cloud 客戶服務聯絡。

疑難排解

問題 疑難排解
您無法查看目前作業的狀態。 作業完成時, Google Cloud 控制台只會回報成功或失敗。這項功能不會顯示警告或其他更新。

執行 gcloud sql operations list 指令,列出指定 Cloud SQL 執行個體的所有作業。

您想找出是誰發起了隨選備份作業。 使用者介面不會顯示啟動作業的使用者。

查看記錄,然後依文字篩選,找出使用者。您可能需要使用稽核記錄來取得私人資訊。相關記錄檔包括:

  • cloudsql.googlapis.com/mysql-general.log
  • cloudsql.googleapis.com/mysql.err
  • 如果啟用 Cloud 稽核記錄,且您具備查看記錄的必要權限,則可能也會提供 cloudaudit.googleapis.com/activity
執行個體刪除後,您就無法備份該執行個體。

如果您刪除執行個體時沒有最終備份資料,就無法復原資料。不過,如果您還原執行個體,Cloud SQL 也會還原備份。如要進一步瞭解如何復原已刪除的執行個體,請參閱復原備份

如果您已執行匯出作業,請建立新的執行個體,然後執行匯入作業來重建資料庫。匯出作業會寫入 Cloud Storage,匯入作業則會從該處讀取資料。

自動備份作業已停滯數小時,且無法取消。 備份作業可能需要較長時間,視資料庫大小而定。

如果真的需要取消作業,可以請 客戶支援團隊force restart執行個體。

如果 SQL 傾印檔案中有一或多位參照的使用者不存在,還原作業就會失敗。 還原 SQL 傾印檔之前,如果資料庫使用者擁有傾印資料庫中的物件,或已取得傾印資料庫中的物件存取權,這類使用者都必須存在於目標資料庫中。否則還原作業無法以原始擁有權或權限重新建立物件。

還原 SQL 傾印檔前,請先建立資料庫使用者

您想將自動備份的保留天數從 7 天延長至 30 天以上。 您可以 設定要保留的自動備份數量,範圍為 1 到 365。系統會根據設定的保留值,定期修剪自動備份。很抱歉,這表示您只能從目前顯示的自動備份還原資料。

如要無限期保留備份,可以建立隨選備份,因為這類備份不會像自動備份一樣遭到刪除。隨選備份會無限期保留。也就是說,這些備份會一直存在,直到您刪除備份或刪除所屬執行個體為止。這類備份不會自動刪除,因此可能會影響帳單。

自動備份失敗,且您未收到電子郵件通知。 如要讓 Cloud SQL 通知您備份狀態,請設定以記錄為準的快訊

後續步驟