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

news/2024/9/23 9:35:48/

☘️博主介绍☘️:

✨又是一天没白过,我是奈斯,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参数或者其他替代参数。

导出用户和权限

无相关参数

--usersmysqldump:没有参数可以导出用户和权限,所以只能写脚本实现。
排除对象无相关参数--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的参数差异 ,只是它们众多特性中的冰山一角。由于个人经验和知识有限,难免有所遗漏或不够深入。因此,我诚挚地邀请各位小伙伴,如果你们在使用这两个工具时发现了更多的差异,或是有着更深入的理解,请不吝分享。

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

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


http://www.ppmy.cn/news/1430104.html

相关文章

单片机 VS 嵌入式LInux

linux 嵌入式开发岗位需要掌握Linux的主要原因之一是,许多嵌入式系统正在向更复杂、更功能丰富的方向发展,需要更强大的操作系统支持。而Linux作为开源、稳定且灵活的操作系统,已经成为许多嵌入式系统的首选。以下是为什么嵌入式开发岗位通常…

vLLM:由伯克利大学LMSYS组织开源的大语言模型高速推理框架-显著提高了大型语言模型(LLM)的服务效率

vLLM是一个由伯克利大学LMSYS组织开源的大语言模型高速推理框架,旨在提升实时场景下语言模型服务的吞吐与内存使用效率134。它是一个快速且易于使用的库,能够与HuggingFace无缝集成134。vLLM的核心是PagedAttention算法,这是一种新颖的注意力算法,通过引入操作系统的虚拟内…

C++实战篇(一)——自旋锁的使用

参考文章 c之理解自旋锁 什么是自旋锁 自旋锁指的是当一个线程在获取锁的时候,如果锁已经被其他线程所获取,那么该线程就将进入一个循环,不断的去判断自身是否能够获得锁 ,直到该线程获得了锁,线程才会退出循环。 自旋锁与互斥锁一样是一…

做事要留有余地

《韩非子》里有一个著名的故事,叫盆水杀人。 春秋战国年间,齐国国君有一个好朋友叫夷射,一年冬天,齐王叫夷射到宫里喝酒,二人对饮,你一杯我一杯,一杯又一杯,喝的是前仰后合&#xf…

c++在visual studio上的默认配置

右键 新建项 右键源文件 属性

MLP/CNN/RNN/Transformer主流深度学习模型的区别

1. 多层感知机(MLP) 核心特征: 结构:MLP 是一种基本的前馈神经网络,包含一个输入层、一个或多个隐藏层以及一个输出层。每层由全连接的神经元组成。用途:适用于简单的分类和回归任务。限制:不…

【SAP ME 18】SAP ME创建开发组件ear

1、说明 SC开发组件ear项目是所有sap me二次开发项目的编译入和部署入口,通过ear可以有效的针对子项目的编译和部署 2、创建开发组件

书生·浦语大模型全链路开源体系-第5课

书生浦语大模型全链路开源体系-第5课 书生浦语大模型全链路开源体系-第5课相关资源LMDeploy基础配置LMDeploy运行环境下载internlm2-chat-1_8b模型使用Transformer来直接运行InternLM2-Chat-1.8B模型使用LMDeploy以命令行方式与InternLM2-Chat-1.8B模型对话设置KV Cache最大占用…