前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MariaDB到MySQL数据迁移案例分享

MariaDB到MySQL数据迁移案例分享

作者头像
DBA札记
发布2024-03-12 08:34:24
1360
发布2024-03-12 08:34:24
举报
文章被收录于专栏:MySQL参数系列MySQL参数系列

前言

最近完成了一套mariadb10.10.x的库到mysql8.0的迁移。给大家分享一下实践过程以及对mysql数据库数据迁移的一些简单思路。

基础环境

源端:mariadb 10.10.x, 未开binlog(重要信息,不能重启,业务不能中断) 目标端:mysql8.0

迁移方案

cloudcanal社区版本 全量 + 数据订正 && 修订

本来想部署docker版本实现,但是离线环境docker搭建都很折腾,无奈之下,只好二进制安装。 安装方式和具体操作方式参考官方文档:

https://www.clougence.com/cc-doc/productOP/tgz/firstinstall_with_tgz

踩坑经历

1、mysql8.0 关键字

mysql8.0 中新增了不少关键字为系统关键字(https://dev.mysql.com/doc/refman/8.0/en/keywords.html )。比如time,rank等,cloudcanal社区版本在迁移表结构过程中并没有进行转义。

解决办法:跳过相关表,手动迁移(mysqldump)

2、create_time 定义被截断

create_time 字段业务在定义为 not null default current_timestamp, 迁移过程中该定义被截断,导致业务迁移后应用切换报错。爱可生开源社区有该案例详细分享。

https://opensource.actionsky.com/20211028-mysql/

https://opensource.actionsky.com/20211111-mysql/

3、数据检验耗时长

一开始采用全量校验模式,发现需要的时间非常长。后来和业务同事协商,跳过一些静态大表的校验后,剩下的校验任务在2h内完成。修订也在半小时完成。

ps:对业务的理解与熟悉非常重要。

mysql数据迁移的一些可选方案

这里列举一些常用的方案供大家参考:

1、xtraback 备份 + binlog增量 2、dts工具 gravity、dm、cloudcanal、datax等工具 3、mysqldump + pt-table-sync(增量) 4、mysqldump + 管道直接灌(适合小库) 5、克隆插件 + binlog 6、mysqlsh中的util备份恢复 7、workbeach等客户端工具有一些也具备迁移功能

大概这些工具与方案。具体的工具与实践选择还得根据业务和实际环境情况确定。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-03-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 基础环境
  • 迁移方案
  • 踩坑经历
    • 1、mysql8.0 关键字
      • 2、create_time 定义被截断
        • 3、数据检验耗时长
        • mysql数据迁移的一些可选方案
        相关产品与服务
        云数据库 MySQL
        腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档