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
    
  • 相关阅读:
    函数指针
    系统学习爬虫_2_urllib
    系统学习爬虫_1_爬虫基本原理讲解
    机器学习_集成算法与随机森林_案例实战:泰坦尼克获救预测
    机器学习_决策树及实战
    数据库_8_SQL基本操作——数据操作
    数据库_7_SQL基本操作——表操作
    数据库_6_SQL基本操作——库操作
    数据库_5_MySQL数据库介绍
    数据库_4_SQL介绍
  • 原文地址:https://www.cnblogs.com/binliubiao/p/15711018.html
Copyright © 2011-2022 走看看