P粉9377693562023-09-05 10:18:50
是:關閉兩台電腦上的 MySQL Server 服務。然後您可以按照您想要的任何方式移動 datadir 中的檔案。但這會在您進行文件傳輸時導致一些停機時間。
如果必須沒有停機時間,也是可以的,但需要更多步驟。
我所做的是使用 Percona XtraBackup 對來源實例進行實體備份,但這對您來說並不容易,因為您使用的是 Windows。 XtraBackup 不適用於 Windows。有些人使用技巧在Windows 上的 Docker 容器。
然後以正常方式將 XtraBackup 還原到您的新計算機,並將其配置為來源實例的副本。請參閱 https://docs.percona.com/percona-xtrabackup/8.0 /howtos/setting_up_replication.html
#將新實例設為副本,您可以讓它根據設定副本時來源實例上發生的最新變更進行更新。
然後在某個時刻您決定切換到新實例。然後,將來源實例設定為唯讀模式,以防止客戶端應用程式進行任何新的變更。讓副本跟上最後的最終更改(如果副本已經跟上更改,則這只需要一秒鐘)。現在,您可以變更客戶端應用程式以使用副本而不是先前的來源。然後使用 RESET SLAVE 取消新實例上的複製配置,因為您最不希望發生的事情是在先前的來源上發生任何更多變更並複製到新實例。
如果您嘗試此過程,我建議您在測試實例(而不是生產實例)上進行測試,直到您熟悉這些工具為止。
P.S.:除了不支援Windows之外,我不知道目前版本的XtraBackup是否可以與MySQL 5.5一起使用。該版本於 2010 年發布,並於 2018 年終止。因此,我認為您需要研究哪個版本的 XtraBackup 仍然可以讀取 MySQL 5.5 實例。您可能必須使用舊版的 XtraBackup。