【MySQL篇】mysqlpump和mysqldump参数区别总汇(第三篇,总共四篇)

☘️博主介绍☘️:

✨又是一天没白过,我是奈斯,DBA一名✨

✌✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux,也在扩展大数据方向的知识面✌✌️

❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣️❣️❣️

    时光匆匆,转眼之间便迎来了星期五。那么今天继续带来关于mysql逻辑迁移工具的探讨—— mysqldump和mysqlpump这两种工具在参数设置上的差异 。在之前的文章中,已经对mysql逻辑迁移工具的重要性及应用场景进行了介绍。而今天将进一步细化讨论,专注于mysqldump和mysqlpump的参数对比,通过深入了解这些差异,我们将能够更好地比较和选择适合自己需求的工具。

    mysqldump作为MySQL官方提供的备份工具,其参数丰富且功能强大。它允许我们通过指定不同的参数来实现不同的备份需求,比如仅备份数据库结构、全库备份等。这些参数的设置对于确保备份的完整性和恢复的效率至关重要。

    而mysqlpump(假设中的工具),虽然与mysqldump在功能上有相似之处,但在参数设置上可能存在一些差异。这些差异可能体现在备份方式、数据导出格式、连接选项等方面。因此,在使用mysqlpump时,我们需要特别关注其参数文档或帮助信息,以确保正确理解和使用这些参数。

    通过对比mysqldump和mysqlpump的 参数差异 ,我们可以更清晰地了解它们各自的特点和优势。例如,某些参数可能只在其中一个工具中可用,或者两个工具中相同参数的行为可能有所不同。这些差异将直接影响我们在实际使用中的选择和决策。

    mysql逻辑迁移工具的介绍和案例,我会分成四篇内容内容进行讲解,四篇的内容分别如下:

  • 第一篇:一文搞清mysqldump逻辑迁移工具的用法和定时全备实例
  • 第二篇:一文搞清mysqlpump逻辑迁移工具的用法和定时全备实例
  • 第三篇:mysqlpump和mysqldump参数区别总汇(当前篇)
  • 第四篇:使用mysqldump全量+mysqlbinlog增量完成实例的时间点恢复

            

mysqlpump和mysqldump参数区别总汇:

功能/需求 mysqldump参数 mysqlpump参数 备注/说明
不导出表中的数据,只导出结构

-d, --no-data

-d, --skip-dump-rows

输出导入时的错误日志 --log-error=name --log-error-file=name
将备份时二进制写入的文件和position点信息输出到sql文件中 --master-data[=#] 无相关参数

mysqlpump:没有记录pos点的参数(master-data参数记录二进制信息),那么在进行恢复时就不知道pos点开始的位置(备份记录的pos点),只知道最后结束的日志(就是最后的日志),那么只能通过备份时间点去推断开始的pos点,从而有可能导致数据重复恢复,也许以后会支持--master-data参数或者其他替代参数。

导出用户和权限

无相关参数

--users mysqldump:没有参数可以导出用户和权限,所以只能写脚本实现。
排除对象 无相关参数 --exclude-databases=name
--exclude-events=name
--exclude-routines=name
--exclude-tables=name
--exclude-triggers=name
--exclude-users=name

mysqlpump:可以在全库导出时--exclude-databases=mysql排除mysql库的导出,那么在导入时就不会因为新库有mysql库而冲突

       

mysqldump:不支持,并且没有相关类似参数。全库导出时默认也导出了mysql库,那么在导入时就会因为新库有mysql库而冲突

指定包含的对象 无相关参数 --include-databases=name
--include-events=name
--include-routines=name
--include-tables=name
--include-triggers=name
--include-users=name
导出时锁定所有数据库中的所有表,导完解锁 -x, --lock-all-tables  无相关参数

mysqlpump:只有--add-locks(FALSE)参数

mysqldump:包括--add-locks(TRUE)、--lock-all-tables(FALSE)、--lock-tables(TRUE)

导出锁表,导一个锁一个,导完解锁 -l, --lock-tables 无相关参数
用LOCK TABLES和UNLOCK TABLES语句包围每个表转储 --add-locks
导出函数、存储过程

--routines

两个工具参数相同,但是区别如下:

          

mysqldump:默认不导出函数、存储过程,所以需要在导出的时候加上相关参数。

        

mysqlpump:默认导出函数、存储过程。

导出调度事件 --events

两个工具参数相同,但是区别如下:

        

mysqldump:默认不导出调度事件,所以需要在导出的时候加上相关参数。

        

mysqlpump:默认导出调度事件。

导出触发器 --triggers 两个工具参数相同,默认都导出触发器。

导出指定表

--tables

--include-databases=name

--include-tables=name

mysqlpump:导出表需要同时使用--include-tables和--include-databases参数,如果只指定--include-tables=bm那么就会导出所有库中bm表,表名之间逗号隔开。

           

mysqldump:使用--tables参数跟库名表名,表名之间空格隔开。

insert插入包含多个值 --extended-insert --extended-insert=#

mysqldump:是否开启insert插入包含多个值,默认为true。True:一个很长的insert语句;false:每行一个insert语句。虽然mysqldump默认是一个很长的insert语句,但也是有限度的,官方文档并没找到一个insert包含多少个值,测试也没有得出结论。

              

mysqlpump:定义一个insert语句包含多少个值,默认一个insert包含250个值。如果导出的数据量较大那么导入时频繁的I/O影响导入时间,数据写到redo log file才返回commit completed成功字样,为了减少了buffer到磁盘的次数,建议在1万,5万,10万。太大的话会占用过多的buffer

导出时在CREATE TABLE前DROP TABLE IF EXISTS --add-drop-table

两个工具参数相同,但是区别如下:

          

mysqlpump:默认不删除存在的表(值为FALSE),类似oracle的ignore的追加数据,加上这个参数在导入时不会先删除存在的表,配合--force直接追加数据。

          

mysqldump:先删除存在的表(值为TRUE)。


           

    今天的文章虽简短,却满载着实用的干货。关于 mysqldumpmysqlpump的参数差异 ,只是它们众多特性中的冰山一角。由于个人经验和知识有限,难免有所遗漏或不够深入。因此,我诚挚地邀请各位小伙伴,如果你们在使用这两个工具时发现了更多的差异,或是有着更深入的理解,请不吝分享。

    我们共同探讨和学习,不仅能够丰富我们的知识体系,还能帮助更多的人更好地掌握和使用这些工具。每一个分享,都是对知识的传递和传承,都能让我们在学习的道路上走得更远。

    那么,今天的内容就到这里结束了,我们下篇见!!!

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-22 19:16:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-22 19:16:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-22 19:16:02       82 阅读
  4. Python语言-面向对象

    2024-04-22 19:16:02       91 阅读

热门阅读

  1. 【数据结构与算法】力扣 344. 反转字符串

    2024-04-22 19:16:02       43 阅读
  2. 多级缓存实现方案

    2024-04-22 19:16:02       40 阅读
  3. Pytorch实用教程:nn.LSTM内部是如何实现的

    2024-04-22 19:16:02       42 阅读
  4. windows@允许挂载http链接@挂载局域网http链接

    2024-04-22 19:16:02       36 阅读
  5. 如何利用R语言获取worldclim30s的气候数据

    2024-04-22 19:16:02       27 阅读
  6. 开发语言漫谈-kotlin

    2024-04-22 19:16:02       33 阅读
  7. Scala详解(4)

    2024-04-22 19:16:02       28 阅读
  8. Scala 第二篇 算子篇

    2024-04-22 19:16:02       31 阅读
  9. Scala 复习笔记

    2024-04-22 19:16:02       30 阅读
  10. 跨境电商爬数据

    2024-04-22 19:16:02       33 阅读
  11. Scala详解(6)

    2024-04-22 19:16:02       27 阅读