[转帖]OceanBase实验4:迁移MySQL数据到OceanBase集群
服务器环境
1)12核48G,操作系统为centos 7.9系统,单节点三副本1-1-1集群。
2)源MySQL数据库:与OceanBase同一台服务器,版本为MySQL 5.7。
1、使用 mysqldump 迁移数据
1)mysql源数据库信息

2)导出表结构
mysqldump -h 127.0.0.1 -u root -p -d lianghe_db > lianghe_db.sql(如在/etc/my.conf中已配置mysqldump登录信息则使用mysqldump -d lianghe_db > lianghe_db.sql即可。)

3)导出一张表数据
mysqldump –h 127.0.0.1 –u root –p –t lianghe_db –tables area > area.sql(如在/etc/my.conf中已配置mysqldump登录信息则使用mysqldump -t lianghe_db --tables area > area.sql即可。)

4)使用obclient连接oceanbase数据库

5)导入表结构

6)导入表数据

导入后的表及数据

2、使用 Datax 配置数据迁移
1)迁移前mysql和oceanbase数据
mysql

oceanbase

2)安装datax
下载 DataX 工具
https://github.com/alibaba/DataX
或http://datax-opensource.oss-cn-hangzhou.aliyuncs.com/datax.tar.gz
直接解压并删除隐藏文件:
tar -xf datax.tar.gz
find ./datax/plugin -name ".*" | xargs rm -f

3)检查java环境

4)生成配置文件
python ./datax/bin/datax.py -r mysqlreader -w oceanbasev10writer > ./datax/job/MySQL2OeanBase.json

5)修改配置文件
vi ./datax/job/MySQL2OeanBase.json
{
"job": {
"content": [
{
"reader": {
"name": "mysqlreader",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": ["jdbc:mysql://127.0.0.1:3306/lianghe_db?useUnicode=true&characterEncoding=utf8"],
"table": ["subjects"]
}
],
"password": "P@ssw0rd123",
"username": "root",
"where": ""
}
},
"writer": {
"name": "oceanbasev10writer",
"parameter": {
"column": ["*"],
"connection": [
{
"jdbcUrl": "||_dsc_ob10_dsc_||obcluster:tenant_henry||_dsc_ob10_dsc_||jdbc:mysql://127.0.0.1:2883/mydb?useUnicode=true&characterEncoding=utf8",
"table": ["subjects"]
}
],
"obWriteMode": "",
"password": "mydb",
"username": "henry"
}
}
}
],
"setting": {
"speed": {
"channel": "8"
}
}
}
}
在oceanbasewriter的配置里注意jdbcUrl的第二参数“obcluster:tenant_henry”是“集群名:租户名”。另外,各个配置项注意用引号包起来。
6)执行迁移
python bin/datax.py job/MySQL2OeanBase.json


7)查看结果

迁移成功。
3、问题
1)因在/etc/my.conf中已配置有mysqldump登录信息(root和password),使用mysqldump导出数据时,若有登录参数(如:mysqldump -uroot -p ...)会报错,此时mysqldump命令不用附加登录参数,直接加数据库名作参数即可。
2)第一节执行source xxx.sql时,
You have an error in your SQL syntax; check the manual that corresponds to your OceanBase version for the right syntax to use near ‘--’ at line 1
数据文件中有--注释信息,导入到OceanBase会报错,可以忽略,并不影响数据导入。我对源文件作了编辑,删除了这些内容。
其它类似如‘ENABLE KEYS */’、‘DISABLE KEYS */’等报错,可以忽略,并不影响数据导入。我对源文件作了编辑,删除了这些内容。
变量 SQL_NOTES,DEFINER 语句等 OceanBase MYSQL 会不支持,但是不影响,需要替换掉其中部分。
[转帖]OceanBase实验4:迁移MySQL数据到OceanBase集群的更多相关文章
- 迁移mysql数据到oracle上
转自:http://www.cnblogs.com/Warmsunshine/p/4651283.html 我是生成的文件里面的master.sql里面的sql,一个一个拷出来的. 迁移mysql数据 ...
- Linux Centos 迁移Mysql 数据位置
Linux Centos 迁移Mysql 数据位置 由于业务量增加导致安装在系统盘(20G)磁盘空间被占满了, 现在进行数据库的迁移. Mysql 是通过 yum 安装的. Centos6.5Mysq ...
- MySQL MHA 高可用集群部署及故障切换
MySQL MHA 高可用集群部署及故障切换 1.概念 2.搭建MySQL + MHA 1.概念: a)MHA概念 : MHA(MasterHigh Availability)是一套优秀的MySQL高 ...
- 朝花夕拾之--大数据平台CDH集群离线搭建
body { border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto; } body .markdown-body ...
- 1 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之DRBD的搭建
preface 近来公司利润上升,购买了10几台服务器,趁此机会,把mysql的主从同步的架构进一步扩展,为了适应日益增长的流量.针对mysql架构的扩展,先是咨询前辈,后和同事探讨,准备采用Mysq ...
- 【原】基于 HAproxy 1.6.3 Keeplived 在 Centos 7 中实现mysql mariadb galera cluster 集群分发读写 —— 上篇
前言 有一段时间没有写blogs,乘着周末开始整理下haproxy + keeplived 实现 mysql mariadb galera cluster 集群访问环境的搭建工作. 本文集中讲hapr ...
- (转)基于keepalived搭建MySQL的高可用集群
基于keepalived搭建MySQL的高可用集群 原文:http://www.cnblogs.com/ivictor/p/5522383.html MySQL的高可用方案一般有如下几种: keep ...
- 从零开始:Mysql基于Amoeba的集群搭建
从零开始:Mysql基于Amoeba的集群搭建 准备环境 1.mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 2.amoeba-mysql-binary-2.0. ...
- 大数据测试之hadoop集群配置和测试
大数据测试之hadoop集群配置和测试 一.准备(所有节点都需要做):系统:Ubuntu12.04java版本:JDK1.7SSH(ubuntu自带)三台在同一ip段的机器,设置为静态IP机器分配 ...
- sqoop将oracle数据导入hdfs集群
使用sqoop将oracle数据导入hdfs集群 集群环境: hadoop1.0.0 hbase0.92.1 zookeeper3.4.3 hive0.8.1 sqoop-1.4.1-incubati ...
随机推荐
- vue部署项目报错导致空白页解决
在nginx上部署项目出现空白页并报错 解决方法: 在vue的vue.config.js文件中 改成:module.exports = {publicPath: './'}
- LeetCode206反转链表、24两两交换节点
206. 反转链表 反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL ...
- .NET技术分享日活动20221022
2022年10月22日下午,个人组织举办了山东地区的第六次.NET技术分享日活动.围绕.NET.低代码Low Code.云原生 Cloud Native.大数据.算法等方向进行创新技术的实践分享. 本 ...
- 第十部分_Shell脚本之函数
函数 1. 什么是函数? shell中允许将一组命令集合或语句形成一段可用代码,这些代码块称为shell函数 给这段代码起个名字称为函数名,后续可以直接调用该段代码的功能 2. 如何定义函数? 方法1 ...
- 资源成本降低70%!华为MetaERP资产核算的Serverless架构实践
本文分享自华为云社区<资源成本降低70%!华为MetaERP资产核算的Serverless架构实践>,作者: 华为云PaaS服务小智. 资产核算是指在一定的财务周期,对企业拥有的房屋建筑物 ...
- 如何通过jstat命令进行查看堆内存使用情况?
摘要:jstat命令可以查看堆内存各部分的使用量,以及加载类的数量. 本文分享自华为云社区<JVM之通过jstat命令进行查看堆内存使用情况>,作者:共饮一杯无 . 基本概念 jstat是 ...
- 云小课|大数据时代的隐私利器-GaussDB(DWS)数据脱敏
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要: 数据仓库服务Ga ...
- 云小课|三大灵魂拷问GaussDB(DWS)数据落盘安全问题
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:GaussDB(D ...
- 火山引擎DataTester:AB实验平台未来演进趋势是怎样的?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 近日,DataFun联合行行AI举办第四届"数据智能创新与实践人工智能大会,火山引擎DataTester ...
- 火山引擎DataTester:一个爆款游戏产品,是如何用A/B测试打磨出来的?
随着国内游戏用户数量趋于饱和,中国游戏产业也从高速成长期逐渐转型,市场成熟度提升,竞争趋于精细化. 随着游戏出海以及私域流量运营的挑战,游戏企业对数据分析的使用需求和依赖度进一步提高.而在游戏研发立项 ...