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

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

操作环境: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 数据库,以确保数据的安全性和可恢复性。

责任编辑:武晓燕 来源: IT那活儿
相关推荐

2023-06-05 07:56:10

线程分配处理器

2023-06-06 08:17:52

多线程编程Thread类

2024-01-12 16:12:44

Java虚拟线程开发

2022-09-23 17:26:04

VeleroKubernetes

2023-06-13 13:39:00

多线程异步编程

2022-09-29 09:07:08

DataGrip数据仓库数据库

2023-12-28 08:45:25

虚拟线程Java 21

2011-08-18 17:07:23

IOS开发多线程NSInvocatio

2021-09-30 09:00:00

漏洞安全工具

2021-03-05 07:38:52

C++线程编程开发技术

2023-10-25 14:51:38

MySQL数据库JSON

2009-08-17 16:56:51

C#多线程控制进度条

2012-12-26 12:41:14

Android开发WebView

2011-07-21 14:57:34

jQuery Mobi

2021-07-27 10:09:27

鸿蒙HarmonyOS应用

2009-12-28 17:40:10

WPF TextBox

2010-09-06 14:24:28

ppp authent

2013-08-21 16:17:09

iPhone多线程

2021-06-29 07:47:23

多线程协作数据

2024-01-30 13:53:40

前端性能Chrome
点赞
收藏

51CTO技术栈公众号