Backup-Restoration
選擇性地將“記錄集”從一個 mysql 實例導入到另一個
我有一個託管生產數據庫的 mysql 伺服器,並且我通常會對其進行快照,我們也可以將其用作暫存環境。
有時會發生不好的事情,例如我們從生產中刪除一行(以及所有通過外鍵連接到它的行),在修復壞程式碼後,我繼續導入備份的數據。
但是,作為運營方面的菜鳥,我不確定正確的流程是什麼。
截至目前,我有一個腳本可以執行以下操作:
- 獲取鍵 K 索引的行(使用 mysqldump -w)
- 從表列表中獲取 row_key = K 的所有行(再次使用 mysqldump -w)
- 在 prod db 中插入所有這些行(使用 mysql )
這看起來很駭人聽聞,並且總是在數據查找部分(例如,我的數據庫中的“相關”表列表不正確)和數據導入部分(例如,由於數據庫“分歧”而違反約束我必須手動修復
INSERT
程式碼)。有沒有合適的方法來做這種事情?
我可以看到有關 SF 的相關問題,例如 將數據從一個 MYSQL 數據庫移動到另一個數據庫, 但這似乎與合併整個數據庫或導入整個備份有關,而不是恢復一小塊“自包含”數據。
不,你得到它的方式幾乎就是它必須完成的方式。該問題的正確解決方案是永遠不要刪除數據——將其標記為非活動狀態,或者最壞的情況是將其移動到“已刪除”表中。審計跟踪也很有效。