服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Mysql - MySQL之多线程迁移工具MyDumper使用指南

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

2023-11-03 16:07IT那活儿 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

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

下载完成后,执行安装:

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

此mydunmper版本为0.13.1:

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

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

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

至此,mydumper安装完成!

2.2 使用mydumper

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

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

如需备份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

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

备份执行成功,已在/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 数据库,以确保数据的安全性和可恢复性。

原文地址:https://mp.weixin.qq.com/s/op5uZB9d4UMAW7LLW4SnoQ

延伸 · 阅读

精彩推荐
  • MysqlMySQL时间盲注的五种延时方法实现

    MySQL时间盲注的五种延时方法实现

    MySQL时间盲注主要有五种,sleep(),benchmark(t,exp),笛卡尔积,GET_LOCK() RLIKE正则,本文就主要介绍了这五种方法,感兴趣的可以了解一下...

    demopy5342021-07-16
  • Mysql关于mysql时间区间问题浅析

    关于mysql时间区间问题浅析

    在很多地方都使用到了mysql的日期查询,下面这篇文章主要给大家介绍了关于mysql时间区间问题的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以...

    二狗的程序人生10792022-10-24
  • Mysqlmysql中整数数据类型tinyint详解

    mysql中整数数据类型tinyint详解

    大家好,本篇文章主要讲的是mysql中整数数据类型tinyint详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览...

    阿 亮9402022-01-19
  • Mysqlmysql 查询第几行到第几行记录的语句

    mysql 查询第几行到第几行记录的语句

    mysql 查询第几行到第几行记录 查询最后一行和第一行记录 查询前几行和后几行记录 ...

    MYSQL教程网7122019-11-21
  • MysqlMySQL执行SQL语句的流程详解

    MySQL执行SQL语句的流程详解

    这篇文章主要介绍了MySQL执行SQL语句的流程详解,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下...

    zht2456481245352022-11-08
  • MysqlMySQL 8.0.12的安装与卸载教程详解

    MySQL 8.0.12的安装与卸载教程详解

    这篇文章主要介绍了MySQL 8.0.12的安装与卸载的教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下...

    阿稳是小可爱2942019-06-14
  • MysqlMySQL连接查询你真的学会了吗?

    MySQL连接查询你真的学会了吗?

    日常使用数据库查询语句时,单表查询尝尝不能满足项目的业务需求,在项目开发过程中,有很多需求都是要涉及到多表的连接查询,这篇文章主要给大家介绍了...

    代码魂5682021-08-09
  • MysqlMySQL之DATETIME与TIMESTAMP的时间精度问题

    MySQL之DATETIME与TIMESTAMP的时间精度问题

    这篇文章主要介绍了MySQL之DATETIME与TIMESTAMP的时间精度问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    Trivis Kylee6492023-02-24