如何使用克隆将生产数据库迁移到 Percona Everest (MySQL)
内容提要
本文提供了迁移生产数据库到Percona Everest的指导和工具。包括了环境了解、配置计算、用户对齐、数据克隆和同步等步骤。迁移完成后,还需要进行数据验证、性能测试和备份计划设置。
延伸解读
克隆前的版本兼容性检查
文章强调,使用 CLONE 插件迁移时,源数据库和目标数据库的 MySQL 版本必须匹配。不能跨系列克隆,例如 MySQL 8.0 与 8.4 之间无法克隆;但在同一系列内,如 8.0.37 与 8.0.42 可以克隆。在 8.0.37 之前,点发布版本号也必须完全一致,因此 8.0.36 与 8.0.42 之间不能克隆。迁移前务必确认版本兼容性,避免克隆失败。
系统用户对齐的必要性
Percona Everest 使用 Percona Operator 创建一组系统用户(如 root、operator、xtrabackup、monitor、replication),这些用户必须也存在于源数据库中,并具有相同的权限。否则克隆完成后系统将无法正常工作。文章建议使用 pt-show-grants 导出用户权限并在源库中重建。此外,还需创建一个临时迁移用户,用于执行克隆操作,完成后可删除。
克隆过程中的关键操作与注意事项
克隆前需确保接收端已激活 clone 插件,并注意如果 Galera 库处于活动状态,克隆会失败。因此需要临时禁用 wsrep_provider,并阻止 Operator 重启 Pod。操作期间集群端点不可用,HAProxy Pod 也会显示为 down,这属于正常现象。克隆完成后,需移除 sleep-forever 文件并恢复 wsrep_provider 配置,使集群重新启动。
迁移后的复制与扩展
克隆完成后,文章建议启用异步复制以保持新环境与生产环境同步。目前 Percona Everest v1.0.1 尚未暴露 Operator 的原生复制功能,因此需手动配置复制,并在 Pod 故障时手动干预。最后,可将集群从单节点扩展至三节点,通过 GUI 调整资源节点数即可。迁移后还需进行数据验证、性能测试和备份计划设置。
Q&A
迁移生产数据库到Percona Everest的第一步是什么?
第一步是了解当前环境,包括CPU、内存和磁盘利用率等。
如何计算所需的资源和配置?
可以使用mysqloperatorcalculator工具来计算所需的资源和配置。
在克隆数据之前需要对系统用户进行哪些操作?
需要对系统用户进行对齐,确保源数据库和目标数据库的用户权限一致。
如何监控数据克隆的进度?
可以使用监控查询命令来查看克隆进度,例如查询performance_schema.clone_progress表。
迁移完成后需要进行哪些验证和测试?
需要进行数据验证、性能测试和备份计划设置。
如何启用异步复制以保持数据同步?
在源数据库上创建复制用户,并在接收端使用CHANGE REPLICATION SOURCE命令进行设置。