OB-从MySQL迁移数据到Oceanbase
兼容性支持情况
对象类型兼容性
- 基本支持MySQL表和业务SQL的兼容
- 对于MySQL 的函数、触发器、存储过程 的兼容性不友好
数据类型兼容性
- OceanBase 数据库暂不支持空间数据类型和 JSON 数据类型
- 其它数据类型基本都支持
- 数值类型
- 日期实践类型
- 字符类型
- 大对象类型
字符集兼容性
OceanBase MySQL 租户支持字符集 binary
和 utf8mb4
。 默认是utf8mb4
从 MySQL 中导出数据时,确保数据库里的字符正确输出。推荐使用: utf-8
- 通过vim 中查看文件编码::set fileencoding
数据迁移方案
这里主要对数据库表对象及其数据的迁移。
-
将MySQL数据通过逻辑备份工具导出到可读格式文件(SQL,CSV)后在OceanBase中执行即可
- mysqldump 实现
- mydumper
-
通过binlog日志同步
逻辑导出MySQL表对象数据
mysqldump 工具导出对象数据
mysqldump 是 MySQL 提供的用于导出 MySQL 数据库对象和数据的工具。功能丰富且简单易用。
用法
mysqldump --help
具体实现
导出指定数据库的表结构(不含数据)
mysqldump -h 127.1 -uroot -P3306 -d TPCH --compact > tpch_ddl.sql
注意:
-
需要去掉MySQL中特定的语法,如:变量
SQL_NOTES
,DEFINER
语句等vim :%s/MAX_ROWS=/; -- MAX_ROWS=/g
-
确认两端的表名称大小写是否敏感
-
导入OceanBase MySQL租户中,需要禁用外键检查约束
set global foreign_key_checks=off; show global variables like 'foreign_key_checks';
导出指定数据库的表数据(不含对象定义结构)
mysqldump -h 127.1 -uroot -P3306 -t TPCH > tpch_data.sql
分类:
数据库(Oceanbase)
标签:
oceanbase
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)