MySQL 到 GaussDB 迁移指南
适用场景:已部署ONES系统,数据库从MySQL迁移到GaussDB的场景。
前置约束
- ONES版本号 >= 6.43.7;该客户使用的插件已经完成GaussDB适配。(如果版本过低,则先升级到新版本)
- 已部署ONES系统,数据库从MySQL迁移到GaussDB的场景。确保业务停机,避免对 MySQL 写入或更新数据。
- 外置 GaussDB, 需客户准备可访问的 GaussDB 实例,确保具备网络连通性,并且延迟低于 10ms
- GaussDB 账号命名约束与建议(修改ONES系统配置时,需要参考此约束)
由于 GaussDB 的账号名 与 业务使用的 schema 名 不可重名(否则可能引发权限冲突及其他问题),
建议在创建账号时为账号名添加环境前缀。推荐的账号命名前缀如下:
DEV环境(开发): u_dev_
UAT环境(用户验收): u_uat_
SIT环境(集成测试): u_sit_
PROD环境(生产环境): u_prod_ - GaussDB 逻辑日志复制槽的命名约束与建议(修改ONES系统配置时,需要参考此约束)
由于 GaussDB 的逻辑复制槽不允许跨DB重名。 因此ONES业务使用的逻辑复制槽的名字必须唯一。
ONES 通过 gaussdbCdcLogicalSlotName 配置指定 逻辑复制槽的名称, 推荐不同环境的命名如下:
DEV环境(开发): slot_dev_ones_cdc
UAT环境(用户验收): slot_uat_ones_cdc
SIT环境(集成测试): slot_sit_ones_cdc
PROD环境(生产环境): slot_prod_ones_cdc - GaussDB 密码要求
GaussDB密码长度必须在 8–32 个字符之间
至少包含以下字符中的三种: 大写字母、小写字母、数字和特殊字符。
特殊字符仅支持 ~ ! @ # % ^ * _ - = + ? ,
客户侧的准备工作
- 准备好 GaussDB 分布式实例,确保具备网络连通性,并且到ONES服务器的延迟低于 10ms
- 创建管理员账号。(ONES系统cdc组件需要创建、查询、消费 逻辑复制槽,以便保证审计日志、报表、索引功能的正常工作。 而逻辑复制槽的功能需要GaussDB的管理员账号 )
CREATE USER onesadmin WITH SYSADMIN password "********";