导入方式选择
- OceanBase 支持 load data infile ,但是需要文件在 server 本地,而不能跟mysql一样在客户端本地
- 此次导入使用 mysqldump
mysqldump 的步骤
- 从源mysql库中正常mysqldump导出数据
- 修改导出的SQL文件,以满足OB导入条件
- 文件的前几行set参数OB是不支持的,所以前几行去掉
- OB不支持字符集排序规则 utf8mb4_0900_ai_ci,所以在SQL文件中注释
ERROR 1273 (HY000): Unknown collation: 'utf8mb4_0900_ai_ci' ### 解决方法:使用vi批量替换:%s/COLLATE=utf8mb4_0900_ai_ci;/; --COLLATE=utf8mb4_0900_ai_ci/g
- OB不支持INNODB存储引擎,但导入过程中也无影响,可以不做处理
Warning (Code 1286): Unknown storage engine 'InnoDB'
- 在导出的表结构语句里,可能包含外键。在导入 OceanBase MySQL 里时,如果外键依赖的表没有创建时,导入脚本会报错。因此导入之前需要将外键检查约束先禁用掉
set global foreign_key_checks=off;