zoukankan      html  css  js  c++  java
  • OB从MySQL迁移数据到Oceanbase

    兼容性支持情况

    对象类型兼容性

    1. 基本支持MySQL表和业务SQL的兼容
    2. 对于MySQL 的函数、触发器、存储过程 的兼容性不友好

    数据类型兼容性

    1. OceanBase 数据库暂不支持空间数据类型和 JSON 数据类型
    2. 其它数据类型基本都支持
      • 数值类型
      • 日期实践类型
      • 字符类型
      • 大对象类型

    字符集兼容性

    OceanBase MySQL 租户支持字符集 binaryutf8mb4 。 默认是utf8mb4

    从 MySQL 中导出数据时,确保数据库里的字符正确输出。推荐使用: utf-8

    • 通过vim 中查看文件编码::set fileencoding

    数据迁移方案

    这里主要对数据库表对象及其数据的迁移。

    1. 将MySQL数据通过逻辑备份工具导出到可读格式文件(SQL,CSV)后在OceanBase中执行即可

      • mysqldump 实现
      • mydumper
    2. 通过binlog日志同步

    逻辑导出MySQL表对象数据

    mysqldump 工具导出对象数据

    mysqldump 是 MySQL 提供的用于导出 MySQL 数据库对象和数据的工具。功能丰富且简单易用。

    用法

    mysqldump --help
    

    具体实现

    导出指定数据库的表结构(不含数据)
    mysqldump -h 127.1 -uroot -P3306 -d TPCH --compact > tpch_ddl.sql
    
    注意:
    1. 需要去掉MySQL中特定的语法,如:变量 SQL_NOTESDEFINER 语句等

      vim 
      :%s/MAX_ROWS=/; -- MAX_ROWS=/g 
      
    2. 确认两端的表名称大小写是否敏感

    3. 导入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
    
  • 相关阅读:
    css3中calc()使用
    垂直居中
    QLineEdit IP地址校验
    UML类图几种关系的总结(网摘)
    如何解压 Mac OS X 下的 PKG 文件(网摘)
    %appdata%目录下配置文件修改
    文件字符串替换
    Qt版权符号显示问题
    Mac OS X 终端命令开启功能
    Qt 无边框拖拽实现
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15711018.html
Copyright © 2011-2022 走看看