MySQL之多线程迁移工具MyDumper使用指南

2023年 11月 3日 92.0k 0

操作环境:CentOS 7

MySQL版本:5.7.42

注意:在执行任何数据库操作之前,请确保您拥有必要的权限和备份数据的合法性!

一、数据迁移工具mydumper的原理及特性

1.1 大型数据库备份

mydumper 被设计用来备份大型的 MySQL 数据库,特别是当传统的 mysqldump 因为性能或时间限制而不适用时。它可以更快速地备份大量数据。

1.2 并行备份

mydumper 采用多线程并行备份数据,这意味着可以同时备份多个表,提高了备份效率。

1.3 逻辑备份

与物理备份工具不同,mydumper 执行逻辑备份,它导出数据库中的数据和结构(表、视图、存储过程等)而不是直接复制数据库文件。这使得备份文件能够跨不同版本的 MySQL 服务器进行还原,因为它们是 SQL 语句的文本文件。

1.4 不锁表备份

mydumper 支持使用 --lock-all-tables 选项,它只会在备份的开始和结束时锁定表,而在备份过程中允许其他操作,减少了对生产环境的干扰。

1.5 开源工具

mydumper 是一个开源工具,可以自由使用和定制,适用于各种 MySQL 数据库备份需求。

二、数据的备份及还原使用

2.1 安装mydumper工具

注:安装dumper的方式有很多种,大家可以根据实际情况,选择需要的版本进行安装!

github上直接下载rpm包进行安装。

执行下载wget https://github.com/mydumper/mydumper/releases/download/v0.13.1-2/mydumper-0.13.1-2.el7.x86_64.rpm

图片图片

下载完成后,执行安装:

rpm -ivh mydumper-0.13.1-2.el7.x86_64.rpm

此mydunmper版本为0.13.1:

图片图片

安装完成后会生成两个二进制文件 mydumper 和 myloader 位于 /usr/bin/mydumper 目录下:

图片图片

至此,mydumper安装完成!

2.2 使用mydumper

在使用之前我们可以运行mydumper --help查看选项参数(具体参数大家可以前往官网查看):

图片图片

如需备份abc库内的test_table表,可以使用如下命令:

mydumper -S 指定套接字文件 -u 用户名 -p 密码 -B 库名 -T 表名 -t 线程数 -o 备份目录 来进行备份(大家可根据自己的需求合理使用上述参数)

mydumper -S /tmp/mysql.sock -u root -p lhw -B abc -T abc.test_table -t 4 -o /tmp/backup

图片图片

备份执行成功,已在/tmp/backup下生成备份文件。

以下是各文件的作用:

  • abc-schema-create.sql——文件是用于创建数据库的sql脚本
  • abc.test_table.00000.sql——存储表数据
  • abc.test_table-metadata——存储元数据
  • abc.test_table-schema.sql——存储表结构
  • metadate——代表备份时的重要信息

后续导入备份数据可以运行 myloader --help 命令来查看myloader的完整文档以获取更多信息。

例:

myloader -S /tmp/mysql.sock -u root -p lhw -B abc -d /tmp/backup

总 结:

mydumper 是一个功能强大的多线程迁移工具,用于备份 MySQL 数据库。通过逻辑备份,增量备份等特性,它提供了高度灵活性,并且易于使用。遵循上述步骤,你可以轻松地备份和还原 MySQL 数据库,以确保数据的安全性和可恢复性。

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论