[英]Create instance from backup on google cloud sql
我有兩個與雲 sql 備份相關的問題:
我希望這是可能的,但看起來備份只能在特定實例下列出,並且沒有從現有備份啟動新實例的選項。
從備份還原會還原到從中獲取備份的實例。
所以 (1) 的答案是它們消失了,關於 (2) 如果你沒有將數據庫的副本導出到你的雲存儲,那么不,你不能恢復你刪除的雲 SQL 實例內容。
關於(2):如果你足夠快,實際上可以恢復它們。 它們應該仍然存在,即使 Google 說它們已被刪除。
如果您知道已刪除數據庫的名稱,請運行以下命令以檢查它們是否仍然存在
gcloud sql backups list --instance=deleted-db-name --project your-project-name
如果你能看到任何結果,那你就很幸運了。 盡快恢復它們!
gcloud sql backups restore <backup-ID> --restore-instance=new-db-from-scratch-name --project your-project
就是這樣!
更多信息: https : //geko.cloud/gcp-cloud-sql-how-to-recover-an-accidentally-deleted-database/
我最近注意到這種行為發生了變化(2022 年 7 月 28 日)。 我們的應用程序更新過程的一部分是在現有部署上運行按需備份,拆除我們的堆棧,創建一個新堆棧,然后從備份的內容填充新數據庫。
到目前為止,這工作得很好。
但是,截至今天,我無法從備份中恢復,因為在我們銷毀舊堆棧時刪除了原始數據庫( dummy-db-19e2df4f
)。 顯然,解決方法是在填充新數據庫之前不要刪除我們的原始數據庫,但這種明顯的行為變化是出乎意料的。
由於列出了備份,因此下面似乎有一些“混合消息”。
列出我的舊實例的備份:
$ gcloud sql backups list --instance=- | grep dummy-db-19e2df4f
1659019144744 2022-07-28T14:39:04.744+00:00 - SUCCESSFUL dummy-db-19e2df4f
1658959200000 2022-07-27T22:00:00.000+00:00 - SUCCESSFUL dummy-db-19e2df4f
1658872800000 2022-07-26T22:00:00.000+00:00 - SUCCESSFUL dummy-db-19e2df4f
1658786400000 2022-07-25T22:00:00.000+00:00 - SUCCESSFUL dummy-db-19e2df4f
嘗試還原到新實例(即將new-db-13d63593
的內容替換為備份/快照1659019144744
的內容)。 到目前為止,這有效:
$ gcloud sql backups restore 1659019144744 --restore-instance=new-db-13d63593
All current data on the instance will be lost when the backup is
restored.
Do you want to continue (Y/n)? y
ERROR: (gcloud.sql.backups.restore) HTTPError 400: Invalid request: Backup run does not exist..
(呃哦……)
出於好奇,請它描述備份:
$ gcloud sql backups describe 1659019144744 --instance=dummy-db-19e2df4f
ERROR: (gcloud.sql.backups.describe) HTTPError 400: Invalid request: Invalid request since instance is deleted.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.