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。