本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
迁移大型 MySQL 和 MariaDB 数据库的最佳实践
除了为每个迁移选项列出的特定于工具的最佳实践外,请查看以下一般最佳实践。无论您选择哪种工具,这些最佳实践都适用于迁移大型、多 TB 的 MySQL 和 MariaDB 数据库:
-
确保源数据库和目标数据库上有足够的空间,来创建和恢复备份。
-
迁移完成之前,不要对目标数据库实例创建二级索引。二级索引在导入期间会增加额外的维护开销,并可能减慢导入过程。
-
如果您使用多线程方法,请选择正确的线程数。对于导出,我们建议您为每个 CPU 核心使用一个线程。对于导入,我们建议您每两个 CPU 核心使用一个线程。
-
数据转储通常由活跃数据库服务器执行,这些服务器是任务关键型生产环境的一部分。如果数据转储严重影响性能,而这在您的环境中是不可接受的,请考虑以下操作之一:
-
源服务器有副本,您可以从其中一个副本转储数据。
-
源服务器受定期备份程序保护:
-
如果备份格式适合直接导入目标数据库,则使用备份数据作为导入过程的输入。
-
如果备份格式不适合直接导入目标数据库,请使用备份来预调配临时数据库并从中转储数据。
-
-
如果副本和备份不可用:
-
在生产流量最低的非高峰时段执行转储。
-
减少转储操作的并发性,以便服务器有足够的备用容量来处理生产流量。
-
-
-
仅创建用户创建的数据库的转储。
-
在目标数据库上重新创建用户并配置其权限。有关更多信息,请参阅 Amazon RDS 的身份和访问管理、Amazon Aurora 的身份和访问管理或 Amazon EC2 的身份和访问管理。
-
迁移由多个独立数据库组成的大型数据库服务器时,为每个数据库创建一个单独的实例。这可以帮助您更有效地管理数据库并改善资源预调配,而单独的计算资源可以提高数据库性能。