【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参数或者其他替代参数。

导出用户和权限

无相关参数

--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不支持并且没有相关类似参数。

指定包含的对象无相关参数--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.hqwc.cn/news/630809.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NLP vs. LLMs: 理解它们之间的区别

作者:Elastic Platform Team 随着人工智能持续发展并在无数行业解决问题,技术的一个关键部分是能够无缝地桥接人类语言和机器理解之间的差距。这就是自然语言处理(NLP)和大型语言模型(LLMs)的用武之地。它们…

.Net RabbitMQ(消息队列)

文章目录 一.RabbitMQ 介绍以及工作模式1.RabbitMQ的介绍:2.RabbitMQ的工作模式: 二.RabbitMQ安装1.安装Erlang语言环境2.安装RabbitMQ 三.在.Net中使用RabbitMQ1.HelloWorld模式2.工作队列模式3.发布订阅模式4.Routing路由模式和Topics通配符模式 一.Ra…

Html面试题汇总

1. DOCTYPE(⽂档类型) 的作⽤ <!DOCTYPE>文档类型声明&#xff0c;作用就是告诉浏览器使用哪种html版本来显示网页 <!DOCTYPE html> 的作用就是让浏览器进入标准模式&#xff0c;使用最新的 HTML5 标准来解析渲染页面 它是一个文档类型声明标签&#xff0c;不是…

YoloV8改进策略:注意力改进、Neck层改进|自研全新的Mamba注意力|即插即用,简单易懂|附结构图|检测、分割、关键点均适用(独家原创,全世界首发)

摘要 无Mamba不狂欢,本文打造基于Mamba的注意力机制。全世界首发基于Mamba的注意力啊!对Mamba感兴趣的朋友一定不要错过啊! 基于Mamba的高效注意力代码和结构图 import torch import torch.nn as nn # 导入自定义的Mamba模块 from mamba_ssm import Mamba class Eff…

EPSON晶振应用到汽车电子产品上的型号有哪些?

EPSON品牌应用在汽车电子产品上的晶振.&#xff0c;当然也少不了晶振可能最熟悉的就是32.768K系列和26MHZGPS晶振用的多。 在汽车里每一个部件都应有的不一样,甚至多次使用到同一尺寸,不同频率的晶振.爱普生品牌晶振型号就有几百种,很容易混淆,要想记住汽车里所应用到的不是件…

Debian12 中重新安装MSSQL 并指定服务器、数据库、数据表字段的字符排序规则和默认语言等参数

在 Linux 上配置 SQL Server 设置 - SQL Server | Microsoft Learn 零、查看sql server 服务器支持的字符排序规则 SELECT Name from sys.fn_helpcollations() where name Like Chinese% go------ Chinese_PRC_CI_AI Chinese_PRC_CI_AI_WS Chinese_PRC_CI_AI_KS Chinese_PRC_…

第十四届蓝桥杯Java B组省赛部分题解

1、阶乘求和 解析 当n足够大时,阶乘和的后几个数字会趋于稳定,即相等,所以只需要多试几次,找到后9位相同部分。 答案 420940313代码实现 package contest;import java.util.*;public class Main

数据库--Sqlite3

1、思维导图 2sqlite3在linux中是实现数据的增删&#xff0c;改 #include<myhead.h> int main(int argc, const char *argv[]) { //1、定义一个数据库句柄指针 sqlite3* ppDb NULL; //2、创建或打开数据库 if(sqlite3_open("./mydb…

CSS导读 (CSS的三大特性 上)

&#xff08;大家好&#xff0c;今天我们将继续来学习CSS的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 五、CSS的三大特性 5.1 层叠性 5.2 继承性 5.2.1 行高的继承 5.3 优先级 小练习 五、CSS的三大特性 …

数据赋能(61)——要求:数据管理部门职责

“要求&#xff1a;数据管理部门职责”是作为标准的参考内容编写的。 数据管理部门职责在于以数据资源为核心&#xff0c;将原始数据转化为可被业务部门与数据服务部门有效利用的数据资源&#xff0c;以支持业务赋能的实现。 数据管理要确保数据的完整性、准确性与一致性&…

管道流设计模式结合业务

文章目录 流程图代码实现pomcontextEventContextBizTypeAbstractEventContext filterEventFilterAbstractEventFilterEventFilterChainFilterChainPipelineDefaultEventFilterChain selectorFilterSelectorDefaultFilterSelector 调用代码PipelineApplicationcontrollerentitys…

MySql安装(Linux)

一、清除原来的mysql环境 在前期建议使用root用户来进行操作&#xff0c;使用 su -来切换成root用户&#xff0c;但是如果老是提示认证失败&#xff0c;那么有可能我们的root密码并没有被设置&#xff0c; 我们可以先设置root的密码 sudo passwd root 然后就可以切换了。 …