欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > 利用mydumper从MySQL迁移数据到OceanBase数据库命令记录

利用mydumper从MySQL迁移数据到OceanBase数据库命令记录

2024/10/23 15:11:14 来源:https://blog.csdn.net/forestqq/article/details/137686361  浏览:    关键词:利用mydumper从MySQL迁移数据到OceanBase数据库命令记录

一:中转服务器环境准备

1、下载安装包。

请根据需要在 下载安装包 中,下载对应的安装包并安装。

2、在数据库主机上解压缩安装包。

以 mydumper-0.12.7-2-zstd.el7.x86_64.rpm 为示例。

rpm2cpio mydumper-0.12.7-2-zstd.el7.x86_64.rpm | cpio -div
  1. 验证是否正确安装。

    ./usr/bin/mydumper --help
    

    在备份目的文件夹中,会生成 metadata 文件和对应的表结构或表数据文件。

二:备份操作

备份全库
mydumper -h xx.xx.xx.xx -P3306 -u username -p ****** -o /data/backup/mysql/
备份指定数据库 test
mydumper -h xx.xx.xx.xx -P3306 -u username -p ******  -B test -o /data/backup/mysql/
备份指定数据库指定表(t1,t2)
mydumper -h xx.xx.xx.xx -P3306 -u username -p ****** -B test -T t1,t2 -o /data/backup/mysql/
仅备份表数据
mydumper -h xx.xx.xx.xx -P3306 -u username -p ****** -B test -T t1 -m -o /data/backup/mysql/
备份 t1 表的数据,开并行和数据压缩
mydumper -h xx.xx.xx.xx -P3306 -u username -p ****** -B test -T t1 -t 6 -c -o /data/backup/mysql/

三:恢复操作

禁用外键检查约束

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

MySQL [oceanbase]> SET GLOBAL foreign_key_checks=off;
Query OK, 0 rows affectedMySQL [oceanbase]> SHOW GLOBAL VARIABLES LIKE '%foreign%';
+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| foreign_key_checks | OFF   |
+--------------------+-------+
1 row in set

备份数据后,您可通过 source 命令或 myloader 命令恢复数据。

使用 source 命令恢复数据

若无法直接还原单表,可以找到对应的单表 sql 文件,进入命令行,使用 source 命令恢复数据。

source test.t1-schema.sql 还原表结构source test.t1.00000.sql 还原表数据
使用 myloader 命令恢复数据
  • 导入表结构和数据。

    myloader -h xx.xx.xx.xx -P2883 -u 'user@tenantname#clustenamer' -p ******  -B test -o -d /data/backup/mysql/
    
  • 导入数据库(若目标库不存在则会新建)。

    myloader -h xx.xx.xx.xx -P2883 -u 'user@tenantname#clustenamer' -p ******  -B test -s test1 -o -d /data/backup/mysql/
    

更多关于 mydumper 和 myloader 的使用方法,请参见 https://github.com/mydumper/mydumper。

四、oceanbase 删除数据库

在OceanBase中,删除数据库的操作通常意味着要删除数据库实例。OceanBase不支持直接删除数据库这一概念,而是需要通过删除数据库实例来完成数据库的“删除”操作。

在OceanBase中删除数据库实例的操作通常需要DBA权限。以下是删除OceanBase数据库实例的基本步骤:

  1. 登录到OceanBase数据库管理系统。

  2. 确认要删除的数据库实例及其内容。

  3. 执行删除实例的命令。

这里是一个示例SQL命令,用于删除OceanBase数据库实例:

DROP DATABASE IF EXISTS `your_database_name`;

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com