一次mysql迁移至OceanBase操作实战记录

 更新时间:2025年12月21日 14:11:49   作者:山佳月潭  
经过一段时间的学习,我对OceanBase有了一些基本的了解,这篇文章主要介绍了一次mysql迁移至OceanBase操作实战记录,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

mysqldump 是 MySQL 数据库系统中的一个命令行工具,用于创建 MySQL 数据库的逻辑备份。它能够导出数据库的结构和数据为 SQL 语句文件,这个文件可以用于恢复数据库或在其他服务器上重建数据库。

PS:本次迁移使用了最基本的mysqldump导出进行后续迁移操作。

源库导出前的配置及导出脚本

本次源数据版本:mysql 8.0.31

导出之前的操作---数据库设置参数:

set persist default_collation_for_utf8mb4=utf8mb4_general_ci;

导出操作:

/mysql/bin//mysqldump -h 192.168.40.129  -uroot -p'mysqlpasswd' -P3306 --single-transaction --master-data=2 --set-gtid-purged=OFF --hex-blob --default-character-set=utf8mb4  --databases shanjiadb > shanjiadb_to_ob.sql

--single-transaction:确保一致性导出。

--master-data=2:记录 binlog 位置,可用于后续搭建增量同步(如果需要)。

--set-gtid-purged=OFF:如果 MySQL 未开启 GTID,可忽略此选项。

处理导出后的SQL文件

检查 SQL 文件,可能需要手动修改一些 OceanBase不兼容的DDL或语法(例如,将LOCK语句注释掉).

如果前面没做字符集设置就导出了,可以用下列脚本批量替换:

sed -i 's utf8mb3_general_ci utf8mb4_general_ci g' *.sql
sed -i 's utf8mb4_0900_ai_ci utf8mb4_general_ci g' *.sql
sed -i 'CHARSET=utf8mb3 CHARSET=utf8mb4' *.sql

目标OceanBase准备及导入操作

前面已经将前期准备做好了,接下来可以在目标端ob数据库进行后续操作了。

在备份的表结构语句里,可能包含外键。在导入 OceanBase MySQL 里时,如果外键依赖的表没有创建,导入脚本会报错,因此在导入之前需要禁用外键检查约束。

使用 source 命令或 mysql 客户端导入。

mysql> use shanjiaobdb;
 
mysql> source /data/backup/shanjiadb_to_ob.sql;
 
导入大量数据时,建议先禁用外键检查以提高速度:
 
SET FOREIGN_KEY_CHECKS=0;
 
-- 导入操作
 
SET FOREIGN_KEY_CHECKS=1;

本次的迁移操作,因某方便原因,其他一些细节点,并没有放上去,姑且当个笔记记录吧。

文参考文档:

https://www.oceanbase.com/docs/common-oceanbase-database-standalone-1000000003577510

到此这篇关于mysql迁移至OceanBase操作实战记录的文章就介绍到这了,更多相关mysql迁移至OceanBase内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL8 排名窗口函数实战

    MySQL8 排名窗口函数实战

    本文阐明SQL三个排名函数处理并列名次时的区别,包括RANK()跳跃,DENSE_RANK()连续,ROW_NUMBER()分配唯一序号,下面就来详细的介绍一下,感兴趣的可以了解一下
    2026-02-02
  • MySQL存储过程的优化实例

    MySQL存储过程的优化实例

    在编写MySQL存储过程的过程中,我们会时不时地需要对某些存储过程进行优化,其目的是确保代码的可读性、正确性及运行性能。本文以作者实际工作为背景,介绍了对某一个MySQL存储过程优化的整个过程。
    2016-07-07
  • MySQL之主键索引排序失效问题

    MySQL之主键索引排序失效问题

    这篇文章主要介绍了MySQL之主键索引排序失效问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-12-12
  • MySQL中数据查询语句整理大全

    MySQL中数据查询语句整理大全

    查询语句是以后在工作中使用最多也是最复杂的用法,如何精准的查询出想要的结果以及用最合理的逻辑去查询尤为重要,下面这篇文章主要给大家介绍了关于MySQL中数据查询语句的相关资料,需要的朋友可以参考下
    2023-04-04
  • mysql导出表的字段和相关属性的步骤方法

    mysql导出表的字段和相关属性的步骤方法

    在本篇文章里小编给大家分享了关于mysql导出表的字段和相关属性的步骤方法,有需要的朋友们跟着学习下。
    2019-01-01
  • MySQL transaction事务安全示例讲解

    MySQL transaction事务安全示例讲解

    这篇文章主要为大家介绍了MySQL数据库事务安全transaction的示例讲解教程,事务就是将一组操作封装成一个执行单元,要么一块执行成功,要么一块失败,不存在部分执行成功的情况。事务保证了执行的稳定性,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-06-06
  • Mysql数据库表定期备份的实现详解

    Mysql数据库表定期备份的实现详解

    这篇文章主要介绍了Mysql数据库表定期备份的实现详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • Mysql服务器的安装配置与启动关闭方法详解

    Mysql服务器的安装配置与启动关闭方法详解

    MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一
    2021-10-10
  • 从理论到实践详解MySQL中的连表查询和更新

    从理论到实践详解MySQL中的连表查询和更新

    在数据库操作中,连表查询(JOIN)和更新(UPDATE)是两种常见但独立的功能,MySQL 允许我们将这两种操作结合起来,实现基于关联表数据的批量更新,下面小编就和大家详细介绍一下吧
    2026-05-05
  • MySQL中处理大数据表的3种方案的实现与对比

    MySQL中处理大数据表的3种方案的实现与对比

    这篇文章主要为大家详细介绍了MySQL中处理大数据表的3种方案的实现与对比,文中的示例代码讲解详细,有需要的小伙伴可以根据需要进行选择
    2025-10-10

最新评论