OceanBase数据迁移-从MySQL导入数据到OceanBase

把MySQL中的数据导入到OceanBase,分几个步骤:

  • 1.准备一份MySQL测试数据集
  • 2.使用mydumper工具导出MySQL数据
  • 3.使用myloader工具导入到OceanBase
  • 4.验证测试数据集在OceanBase下的执行情况
1.准备一份MySQL测试数据集

1.1.从github下载mysql测试数据集:https://github.com/datacharmer/test_db/releases/download/v1.0.7/test_db-1.0.7.tar.gz

1.2.数据导入到MySQL中

# 1.上传test_db-1.0.7.tar.gz到服务器
# 2.解压 tar -xvzf test_db-1.0.7.tar.gz
# 3.cd test_db
4.导入数据
mysql -uroot -p123456 < ./employees.sql5.或者进入mysql命令行,使用source命令导入数据
mysql>source employees.sql

1.3.看下测试数据集、表结构、每个表的数量
在这里插入图片描述
在这里插入图片描述

1.4.用一段sql多表关联查询3位员工的薪资发放,所在部门、职称,看到查询时间 0.203s,mysql主机配置1核2G
在这里插入图片描述

2.使用mydumper工具导出数据

mydumper 和 myloader 都是开源的工具,具有高效、安全、可靠的特点,并且支持多种备份方式和备份数据的压缩和加密

  • mydumper: 是一款开源的多线程备份工具,用于备份 MySQL 数据库。mydumper 支持备份整个数据库、单个表或多个表,支持多线程备份,可以加速数据备份过程。mydumper 还支持备份数据的压缩和加密,可以从备份文件中恢复数据。
  • myloader: 是一款用于恢复 mydumper 备份文件的工具。

mydumper下载地址:

  • https://github.com/mydumper/mydumper/releases
  • https://github.com/mydumper/mydumper/releases/download/v0.15.2-7/mydumper-0.15.2-7.el7.x86_64.rpm
  • https://download.csdn.net/download/zhuyu19911016520/88857315

安装: rpm -ivh mydumper-0.15.2-7.el7.x86_64.rpm
安装完后就有mydumper和myloader工具了

2.1.mydumper备份
# 1.备份全库
mydumper -h xx.xx.xx.xx -P3306 -u username -p ****** -o /data/backup/mysql/# 2.备份指定数据库 test
mydumper -h xx.xx.xx.xx -P3306 -u username -p ******  -B test -o /data/backup/mysql/# 3.备份指定数据库指定表(t1,t2)
mydumper -h xx.xx.xx.xx -P3306 -u username -p ****** -B test -T t1,t2 -o /data/backup/mysql/# 4.备份 t1 表的数据,开并行6线程和数据压缩
mydumper -h xx.xx.xx.xx -P3306 -u username -p ****** -B test -T t1 -t 6 -c -o /data/backup/mysql/# 5.具体导出示例代码
mydumper -u root -p '123456' -h 127.0.0.1 -P 3306 -B employees -t 6 -c -o /data/backup/mysql/

备份的数据会放到 /data/backup/mysql/ 目录下,每张表导出两个sql文件(schema表结构文件和数据文件)

mydumper 命令常用参数说明:

参数参数全称说明
-h–host连接的主机名或 IP 地址
-P–port连接的端口
-u–user备份使用的用户名
-p–password备份使用的用户密码
-B–database备份的数据库名,默认备份所有库
-T–tables-list备份的表名,多张表名字用逗号隔开
-i–ignore-engines备份忽略的存储引擎,用逗号分割
-m–no-schemas不备份表结构
-t–threads开启的并行备份线程数,默认是 4
-c–compress对输出文件进行压缩
-o–outputdir备份文件输出目录
3.使用myloader工具导入到OceanBase

OceanBase禁用外键检查约束,防止恢复时脚本报错

obclient -h192.168.113.161 -P2883 -uroot -p'123' -Doceanbase -A
[oceanbase]> SET GLOBAL foreign_key_checks=off;
[oceanbase]> SHOW GLOBAL VARIABLES LIKE '%foreign%';

myloader导入到OceanBase,如果test不存在则会自动创建

myloader -h 127.0.0.1 -P 2883 -u 'user@tenantname#clustenamer' -p ******  -B test -o -d /data/backup/mysql/# 导入到OceanBase,上一篇创建了mq_t1租户
myloader -h 127.0.0.1 -P 2883 -u 'root@mq_t1#zycluster' -p '123456'  -B employees -o -d /data/backup/mysql/

导入测试数据集到OceanBase成功,但通过输出日志可以看到下面有个表导入报错了
在这里插入图片描述

myloader 命令常用参数说明:

参数参数全称说明
-h–host连接的主机名
-P–port连接的端口
-u–user恢复使用的用户名
-p–password恢复使用的用户密码
-B–database恢复的数据库名
-d–directory恢复文件的目录
-o–overwrite-tables如果要恢复的表存在,则先 drop 掉该表;使用该参数,需要备份时候要备份表结构
-B–database需要还原的数据库
4.验证测试数据集在OceanBase下的执行情况

上面那段多表关联查询sql放到oceanbase集群的employees数据库中执行几次,看下执行时间(特别说明这里的执行情况不代表真实情况,因两台主机配置不同)

第一次查询时间为 0.114 秒
在这里插入图片描述

后面多次执行同一条sql,查询时间基本都是0.001秒,猜测数据被缓存了,这样对热点数据的查询性能比较高

在这里插入图片描述

参考文档:https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000507580

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【PX4SimulinkGazebo联合仿真】在Simulink中使用ROS2控制无人机沿自定义圆形轨迹正向飞行(带偏航角控制)并在Gazebo中可视化

在Simulink中使用ROS2控制无人机沿自定义圆形轨迹正向飞行&#xff08;带偏航角控制&#xff09;并在Gazebo中可视化 系统架构Matlab官方例程Control a Simulated UAV Using ROS 2 and PX4 Bridge运行所需的环境配置PX4&Simulink&Gazebo联合仿真实现方法建立Simulink模…

模板(类模板)---C++

模板目录 2.类模板2.1 类模板语法2.2 类模板与函数模板区别2.3 类模板中成员函数创建时机2.4 类模板对象做函数参数2.5 类模板与继承2.6 类模板成员函数类外实现2.7 类模板分文件编写2.8 类模板与友元2.9 类模板案例 2.类模板 2.1 类模板语法 类模板作用&#xff1a; 建立一个…

[嵌入式AI从0开始到入土]15_orangepi_aipro欢迎界面、ATC bug修复、镜像导出备份

[嵌入式AI从0开始到入土]嵌入式AI系列教程 注&#xff1a;等我摸完鱼再把链接补上 可以关注我的B站号工具人呵呵的个人空间&#xff0c;后期会考虑出视频教程&#xff0c;务必催更&#xff0c;以防我变身鸽王。 第1期 昇腾Altas 200 DK上手 第2期 下载昇腾案例并运行 第3期 官…

notepad++运行python闪一下就没啦

问题&#xff1a;Notepad直接快捷键运行Python代码,出现闪一下就没了 解决措施&#xff1a; ①点击菜单运行(Run) --> 运行(Run)弹出的对话框 ②把 cmd /k python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT 粘贴进入这个对话框内 ③点击保存&a…

Rust Vs Go:从头构建一个web服务

Go 和 Rust 之间的许多比较都强调它们在语法和初始学习曲线上的差异。然而&#xff0c;最终的决定性因素是重要项目的易用性。 “Rust 与 Go”争论 Rust vs Go 是一个不断出现的话题&#xff0c;并且已经有很多关于它的文章。部分原因是开发人员正在寻找信息来帮助他们决定下…

EventStream获得数据流,前端配置获得推送的流

如上图所示&#xff0c;请求一个接口&#xff0c;接口以数据流的方式向客户端推送数据&#xff0c;默认需要消息收集一条&#xff0c;在原来的基础上追加&#xff0c;在create-react-app生成的工程中&#xff0c;如果代理使用了中间件http-proxy-middleware&#xff0c;同时dev…

强化学习(GPS)

GPS——Guided Policy Search引导策略搜索 基于模型的强化学习算法 GPS目前被作为基础算法广泛应用于各种强化学习任务中&#xff0c;其出发点在于纯粹的策略梯度方法在更新参数时不会用到环境模型因而属于一种无模型强化学习算法。由于没有利用任何环境的内在属性&#xff0…

stm32cubemx简单介绍

&#xff08;本文为简单介绍&#xff0c;内容源于网络&#xff09; STM32CubeMX是STMicroelectronics推出的一款用于STM32微控制器系列的图形化配置工具&#xff0c;旨在简化嵌入式软件开发过程。本文将对STM32CubeMX进行简要介绍&#xff0c;包括其功能特点、优势以及在嵌入式…

猫头虎分享已解决Bug || RuntimeError: size mismatch, m1: [32 x 100], m2: [500 x 10]

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

2.22学习总结

1.营救 2.租用游艇 3.砍树 4.买礼物 5.刷题统计 砍树https://www.dotcpp.com/oj/problem3157.html 题目描述 给定一棵由 n 个结点组成的树以及 m 个不重复的无序数对 (a1, b1), (a2, b2), . . . , (am, bm)&#xff0c;其中 ai 互不相同&#xff0c;bi 互不相同&#xff0c;ai…

Spring 类型转换、数值绑定与验证(一)— DataBinder

DataBinder 是Spring用于数据绑定、类型转换及验证的类。使用场景有&#xff1a;1&#xff09;xml配置文件定义bean,Spring 内部使用DataBinder 来完成属性的绑定&#xff1b;2&#xff09;Web请求参数绑定&#xff0c;在Spring MVC 中&#xff0c;Controller的方法参数通常会自…

还在为选择办公软件而烦恼吗?不妨试试ONLYofficeV8.0

目录 一.优势一DOC 1.丰富的文字处理功能 2.按用户既定的规则编辑 3.使用AI助手 4.保持创意 5.深入分析文本 6.改善团队工作流程 7.轻松对比文档 8.扩展编辑功能 二.优势二sheet 1.数据分析 2.轻松实现精准计算 3.轻松分析数据 4.可视化呈现数据 5.增强团队协作…