ob如何平滑地从4.2版本迁移至4.3.5版本

【 使用环境 】测试环境
【 OB or 其他组件 】oceanbase 4.2.5
【 使用版本 】
【问题描述】我们计划从4.2.5升级至4.3.5版本,但是只借助OMS,没办法将用户权限数据、存储过程这类东西进行迁移,请问如何迁移比较好呢。
【复现路径】4.2.5迁移至4.3.5版本相关问题。

5 个赞

@论坛小助手

1 个赞

根据文档库中的信息,直接从 OceanBase 4.2.5 升级到 4.3.5 版本并不是一个简单的过程,尤其是涉及到用户权限数据、存储过程等复杂对象的迁移。当前检索到的文档片段主要集中在 OMS(OceanBase Migration Service)社区版的升级和使用限制上,并没有直接提到从 4.2.5 到 4.3.5 的具体步骤。

但是,基于现有信息以及内在知识,可以给出以下建议来帮助您实现平滑迁移:

  1. 评估与准备

    • 在开始之前,请确保仔细评估现有的数据库环境,包括但不限于用户权限设置、存储过程、触发器、视图等自定义对象。
    • 确认目标版本(4.3.5)是否支持所有现有的特性或功能。如果存在不兼容的情况,则需要提前规划解决方案。
  2. 备份数据

    • 使用 obd cluster dump 命令对现有集群进行全量备份。这一步非常重要,以防止在迁移过程中出现意外情况时能够快速恢复。
      obd cluster dump <cluster_name>
      
  3. 导出元数据

    • 对于用户权限、存储过程等非结构化数据,可以通过 SQL 脚本或者第三方工具如 mysqldump 导出这些元数据。
    • 注意:由于 OceanBase 是 MySQL 兼容的,因此可以使用 MySQL 的工具来进行这部分操作。
      mysqldump --no-data -h <host> -P <port> -u <user> -p<password> <database_name> > metadata.sql
      
  4. 升级 OceanBase

    • 根据官方文档指导,逐步将 OceanBase 从 4.2.5 升级到最新的稳定版本(假设为 4.3.x)。请注意,可能需要分阶段进行,例如先升至 4.3.0 再继续更新。
    • 参考 官方升级指南,确保遵循正确的升级路径。
  5. 导入元数据

    • 在新版本中创建相同的数据库结构后,通过 SQL 文件重新导入之前导出的元数据。
      source /path/to/metadata.sql;
      
  6. 验证迁移结果

    • 完成上述步骤后,务必进行全面的功能测试,确保所有业务逻辑正常工作,特别是那些依赖于特定权限或存储过程的应用程序。
  7. 调整优化

    • 根据实际运行情况,可能还需要对新版本中的配置参数进行适当调整,以达到最佳性能。
  8. 利用 OMS 进行增量同步(可选)

    • 如果有持续的数据变化需求,可以考虑使用 OMS 来实现实时或定时的数据同步,但这部分并不适用于用户权限和存储过程等静态内容的迁移。

综上所述,虽然 OMS 主要用于结构化数据的迁移和同步,但对于像用户权限、存储过程这样的特殊对象,还是建议采用手动导出再导入的方式更为稳妥。同时,整个迁移过程应该谨慎规划并充分测试,以确保不会影响到正常的业务运作。

重要提示:以上方案是基于一般性的经验和做法提供的参考意见,在实施前请务必查阅最新版本的官方文档,并结合自身实际情况做出合理决策。如果有条件的话,也可以联系 OceanBase 的技术支持团队获取更专业的指导。

更多信息请查看:

  1. 概述
  2. 单节点升级
  3. 多节点升级
  4. 产品动态
  5. 通过 OMS 进行数据迁移和同步
  6. 权限管理概述
  7. 创建数据库用户
  8. 部署类型
  9. OceanBase 社区版之间的数据迁移
2 个赞

小助手的回复有点混乱。当前还是推荐使用oms进行迁移。
ob-ob使用oms427版本支持存储过程迁移

3 个赞

用户和权限这种应该怎么迁移呢(咨询一下)

2 个赞

目前oms应该是没有这种功能。需要手动迁移了

3 个赞

学习打卡

1 个赞

学习了!

1 个赞

好好学习,天天向上

1 个赞

OMS 是不是应该考虑把用户和权限也放到可选范围内

2 个赞

学习中~

老师,您好,请问是否和MySQL类似,将mysql.user 这几个表迁移至对应的租户中就可以了呢?

1 个赞

你是说迁移用户么。在新的ob集群创建就行

1 个赞

因为可能没记录全部的用户密码,重新分配权限也有点麻烦。

1 个赞

这个问题这边后续反馈下看看

2 个赞

麻烦了,期待后续可以平滑地升级到4.3.5

目前这块没有计划