手动将MySQL 5.5数据库复制到另一台计算机

kknvjkwl  于 2022-12-10  发布在  Mysql
关注(0)|答案(1)|浏览(148)

我的公司使用的产品使用MySQL5.5作为其后端数据库。该产品会在安装过程中自动安装和配置MySQL。该产品可以配置为在热备份冗余配置中运行。在这些情况下,在两台单独的服务器上执行相同的安装过程,然后在产品初始配置期间选择冗余模式。该产品在内部处理复制数据库数据和保持两个数据库同步的所有过程。MySQL知道冗余设置的知识。两台服务器上MySQL安装完全相同,位置相同,结构相同。在需要的情况下,例如从已经运行了一段时间的单/主服务器配置创建冗余系统时,该产品没有一种非常优雅/高效的方法来将大小为300G的3K表、数据库从主服务器同步到备份服务器。我的问题如下。
考虑到主服务器和备份服务器上的MySQL安装完全相同,是否有一种安全/受支持的方法将数据库/文件从主服务器手动复制到备份服务器?顺便说一句,这是在生产Windows服务器上。我知道我可以从主服务器完全导出数据库,然后在BU服务器上导入它,但这可能需要几个小时。我希望有一种更快的受支持的方法,只需将文件从一台服务器复制到另一台服务器,但在研究这一点时,我看到了相互矛盾的信息。
系统信息Windows MySQL 5.5在两台服务器上完全相同的安装“C:\ProgramData\MySQL\MySQL Server 5.5\Data”Innodb文件每表=TRUE
提前感谢您的建议。
我曾经尝试将包含所有Innodb表文件的数据库文件夹“C:\ProgramData\MySQL\MySQL Server5.5\Data\Mydbase”从一台服务器复制到另一台服务器,但MySQL无法启动并出现错误。

utugiqy6

utugiqy61#

是:关闭两台计算机上的MySQL Server服务。然后,您可以以任何您想要的方式移动数据目录中的文件。但当您进行文件传输时,这会导致一些停机时间。
如果您必须没有停机时间,这也是可能的,但需要更多步骤。
我所做的是使用Percona XtraBackup对源示例进行物理备份,但这对您来说并不容易,因为您是在Windows上。XtraBackup在Windows上不起作用。有些人使用诡计来run XtraBackup in a Docker container on Windows
然后以正常方式将XtraBackup恢复到您的新计算机,并将其配置为源示例的副本。见https://docs.percona.com/percona-xtrabackup/8.0/howtos/setting_up_replication.html
通过使新示例成为复制副本,您可以使用在设置复制副本时在源示例上发生的最新更改来更新它。
然后,在某个时刻,您决定切换到新示例。然后将源示例设置为只读模式,以防止客户端应用程序进行任何新的更改。让副本跟上最后的更改(如果副本已经跟上了更改,这应该只需要一秒钟)。现在,您可以将客户端应用程序更改为使用复制副本,而不是以前的源。然后使用Reset Slave取消配置新示例上的复制,因为您最不希望的就是在以前的源上发生更多更改并复制到新示例。
如果您尝试此过程,我建议您在测试示例上测试它,而不是在您的生产示例上测试,直到您熟悉这些工具为止。
附注:除了不支持Windows之外,我不知道当前版本的XtraBackup是否可以与MySQL5.5兼容。该版本于2010年发布,并于2018年结束使用。因此,我认为您需要研究哪个版本的XtraBackup仍然可以读取MySQL5.5示例。您可能必须使用旧版本的XtraBackup。

相关问题