使用 mysqldump 建立資料庫的複本,讓您可以擷取資料庫中的所有資料,並以能夠將資訊匯入另一個 MySQL 伺服器執行個體的格式呈現 (請參閱第 6.5.4 節「mysqldump — 資料庫備份程式」)。由於資訊的格式是 SQL 語句,因此該檔案可以輕易地散佈,並在您需要緊急存取資料時套用到執行中的伺服器。不過,如果您的資料集非常龐大,mysqldump 可能不太實際。
請考慮使用 MySQL Shell 傾印公用程式,其提供具有多執行緒、檔案壓縮和進度資訊顯示的平行傾印,以及雲端功能,例如 Oracle Cloud Infrastructure Object Storage 串流和 MySQL HeatWave Service 相容性檢查和修改。可以使用 MySQL Shell 載入傾印公用程式將傾印輕鬆匯入 MySQL 伺服器執行個體或 MySQL HeatWave Service 資料庫系統。MySQL Shell 的安裝指示可在此處找到 此處。
使用 mysqldump 時,您應該在開始傾印程序之前停止複本上的複製,以確保傾印包含一致的資料集
停止複本處理要求。您可以使用 mysqladmin 完全停止複本上的複製
$> mysqladmin stop-replica
或者,您可以僅停止複製 SQL 執行緒以暫停事件執行
$> mysql -e 'STOP REPLICA SQL_THREAD;'
這樣做可讓複本繼續接收來自來源二進制日誌的資料變更事件,並使用複製接收器執行緒將它們儲存在轉發日誌中,但會阻止複本執行這些事件並變更其資料。在忙碌的複製環境中,允許複製接收器執行緒在備份期間執行,可能會在您重新啟動複製套用程式執行緒時加快趕上進度的程序。
執行 mysqldump 以傾印您的資料庫。您可以傾印所有資料庫或選擇要傾印的資料庫。例如,要傾印所有資料庫
$> mysqldump --all-databases > fulldb.dump
傾印完成後,再次啟動複製
$> mysqladmin start-replica
在上述範例中,您可能想要將登入認證 (使用者名稱、密碼) 新增至命令,並將程序捆綁到每天可以自動執行的指令碼中。
如果您使用此方法,請務必監控複製程序,以確保執行備份所花費的時間不會影響副本跟上來源事件的能力。請參閱第 19.1.7.1 節,「檢查複製狀態」。如果副本無法跟上,您可能需要新增另一個副本並分散備份程序。有關如何設定此案例的範例,請參閱第 19.4.6 節,「將不同資料庫複製到不同的副本」。