为什么具有单事务的 mysqldump 比不具有单事务的 mysqldump 更一致?

2024-04-10

我已经阅读了手册,其中提到每笔交易都会添加一个BEGIN在开始转储之前声明。有人可以用更容易理解的方式详细说明这一点吗?

这是我读到的:

该选项在从服务器转储数据之前发出 BEGIN SQL 语句。它仅对事务表(例如 InnoDB 和 BDB)有用,因为那样的话 转储发出 BEGIN 时数据库的一致状态,而不会阻塞任何应用程序。”

有人可以详细说明一下吗?


由于转储位于一个事务中,因此您可以获得数据库中所有表的一致视图。这可能最好用一个反例来解释。假设您转储一个包含两个表的数据库,Orders and OrderLines

  1. 您无需单个事务即可启动转储。
  2. 另一个进程将一行插入到Orders table.
  3. 另一个进程将一行插入到OrderLines table.
  4. 转储处理OrderLines table.
  5. 另一个进程删除Orders and OrderLines记录。
  6. 转储处理Orders table.

在此示例中,您的转储将包含以下行:OrderLines, 但不是Orders。如果数据之间存在外键,数据将处于不一致的状态并且恢复将失败Orders and OrderLines.

如果您在单个事务中完成此操作,则转储将不会有顺序或行(但它会是一致的),因为两者都是在事务开始后插入然后删除的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么具有单事务的 mysqldump 比不具有单事务的 mysqldump 更一致? 的相关文章

  • Dapper 或 MySql 未找到包含句号“.”的存储过程。

    我有一个简单的 C 控制台 它使用 Dapper ORM 调用本地 MySql 数据库 以执行名为的存储过程users UserCreate 但是 当运行查询时 我收到一个异常 在数据库 用户 中找不到过程或函数 UserCreate Bu
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • rake db 问题:迁移 -

    我无法为 Ruby on Rails 设置 MySQL 数据库 设置数据库并确保 config database yml 文件匹配后 我遇到了以下错误消息 U Rails alpha gt rake db migrate trace in
  • mysql 不带空字符串和 NULL 的不同值

    如何检索没有空字符串值和NULL值的mysql不同值 SELECT DISTINCT CON EMAILADDRESS AS E MAIL FROM STUDENT INNER JOIN CONTACT CON ON STUDENT CON
  • 防止 Propel 插入空字符串

    当未设置列时 如何防止 Propel ORM 插入空字符串 CREATE TABLE user uid INTEGER PRIMARY KEY AUTO INCREMENT email VARCHAR 255 NOT NULL UNIQUE
  • 使用什么框架来引导我的第一个生产 scala 项目?

    我正在第一次涉足 scala 的生产应用程序 该应用程序当前打包为 war 文件 我的计划是创建 scala 编译工件的 jar 文件 并将其添加到 war 文件的 lib 文件夹中 我的增强功能是通过 Jersey 公开的 mysql 支
  • MySQL:@@ 是什么意思?

    我正在阅读本页上的 MySQL 文档 http dev mysql com doc refman 5 1 en set statement html http dev mysql com doc refman 5 1 en set stat
  • 如何从 MySQL 数据查询创建 XML 文件?

    我想知道一种仅使用 MySQL 查询创建 XML 文件的方法 根本不使用任何脚本语言 有关于这个主题的书籍 教程吗 UPDATE 我想澄清一下 我想使用 sql 查询将 XML 数据转发到 php 脚本 Here s 关于从 MySQL S
  • MySQL如何获取unix时间戳的时间差

    我有一个保存值1506947452的变量 需要使用公式从该日期提取分钟 started data now date 但started date采用unix时间戳格式10位int数字 我以ajax形式收到并需要放入mysql查询i试试这个 S
  • 研究MySQL、SQLite源码了解RDBMS实现[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道实现数据库是一个很大的话题 但我想通过研究数据库系统的源代码来基本了解数据库系统的工作原理 例如
  • 使用函数的 SQL 查询 - 如何获取列表的最大计数

    如何查询 MAXIMUM COUNT 交易次数 我的代码如下 SELECT customer id COUNT customer id FROM rental GROUP BY customer id HAVING MAX COUNT cu
  • 查询为空 Node Js Sequelize

    我正在尝试更新 Node js 应用程序中的数据 我和邮递员测试过 我的开发步骤是 从数据库 MySQL 获取ID为10的数据进行更新 gt gt 未处理的拒绝SequelizeDatabaseError 查询为空 我认识到 我使用了错误的
  • 统计mysql中的总行数并按列分组

    所以我已经看这个有一段时间了 但我似乎无法弄清楚 我有一个具有以下格式和示例数据的 mysql 表 ID Customer Time Error Code Duration 1 Test1 00 12 00 400 120 2 Test2
  • 处理ON INSERT触发器时,innodb表如何锁定?

    我有两个 innodb 表 articles id title sum votes 1 art 1 5 2 art 2 8 3 art 3 35 votes id article id vote 1 1 1 2 1 2 3 1 2 4 2
  • 从名字和姓氏生成唯一的用户名?

    我的数据库中有很多用户 我想将他们的所有用户名重置为他们名字的第一个字母 加上他们的完整姓氏 正如你可以想象的那样 有一些骗子 在这种情况下 我想在用户名末尾添加 2 或 3 或其他内容 我将如何编写查询来生成这样的唯一用户名 UPDATE
  • 复杂的sql树行

    表结构 id message reply id 1 help me 0 434 love to 1 852 didn t work 434 0110 try this 852 2200 this wont 0 5465 done 0110
  • 限制分页页数

    objConnect mysql connect localhost root or die mysql error objDB mysql select db Test strSQL SELECT FROM UserAddedRecord
  • 在 BIRT 中输入参数后更新数据集查询

    在 BIRT 报告设计中传递参数后 如何更改或更新数据集的查询 详细说明 我有一个如下所示的查询 WHERE 该参数标记可以保存不同的值 在用户输入参数后 它看起来像这样 例如 WHERE column name 1 or WHERE co
  • 您可以使用 MySQL 查询来完整创建数据库的副本吗

    我有一个包含 5 个表的 MySQL 数据库的实时版本和一个测试版本 我不断使用 phpMyAdmin 将实时版本中的每个表复制到测试版本 有谁有mysql查询语句来制作数据库的完整副本吗 查询字符串需要考虑结构 数据 自动增量值以及与需要
  • Innodb页面大小设置

    在innodb中 页面大小默认为16kb 如何将页面大小设置为 8kb 是否有在源编译步骤中设置的选项 您不需要在源编译步骤中指定页面大小 MySQL 5 6 及更高版本支持不同的页面大小 无需重新编译 但是 您必须在初始化 InnoDB

随机推荐

  • 绑定参数太多。提供了 5 个参数,但该语句需要 4 个参数

    执行下面的函数时 我得到上面的 IllegalArgumentException 我不明白的是 当我运行调试器时 values变量显然只包含 4 个参数 正如它应该的那样 So 1 这个神秘的第五个论点从何而来 2 我应该如何发现这个错误
  • C# 屏幕截图全窗口

    我正在尝试使用 NET Framework 编写一个控制台应用程序 我想截图我的屏幕 我已经使用过其他答案 如下所示 https stackoverflow com a 24879511 9457997 https stackoverflo
  • 在 32 位和 64 位 C# 世界中使用 System.Data.SQLite 的选项

    我了解为什么在 32 位和 64 位版本中提供 System Data SQLite dll 因此 我们不要纠缠于此 继续前进 由于采用这种方式 纯 C 开发似乎变得更加困难 需要做出 3 个选择 是只支持32位并强制有托管 编译 x86
  • jQuery - 如何编写“如果不等于”(与 == 相反)

    我需要反转以下代码 如果宽度不是 500px 如何使动画运行 image div not this each function if this css width 500px this animate width 250px 500 fun
  • 查询以比较带时间的日期和不带时间的日期 - python 使用 access db

    我需要帮助来创建查询来比较带时间的日期和不带时间的日期 我正在使用带有 access db pypyodbc 的 python 在数据库中 我有一个包含日期 时间 包括时间 的列 在Python中 我有一个日期时间对象 没有时间 我想编写一
  • 为页面创建 Like-Gate [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我已经创建了一个 Facebook 页面 我想为其添加一个所谓的 Like Gate 问题是该页面带有时间线 并且到目前为止我找到的每个教
  • Conda无法激活环境

    Microsoft Windows Version 6 1 7601 Copyright c 2009 Microsoft Corporation All rights reserved C Users gt conda env list
  • 具有多个鉴别器值的 Hibernate 子类

    您好 我有一个子类需要覆盖多个鉴别器值 就像是 DiscriminatorValue 值 ACT DNR ATT 会让我变得完美 我们有现有的数据 其中多个鉴别器可以映射到一个类 因为它们与我们的系统将视为同一事物的类型相似 您可以使用判别
  • jQuery 淡入/淡出 div 到不同的 div?

    当您单击链接或按钮时 是否可以让 div 淡出 然后在同一位置淡入具有不同内容的不同 div 显然会使用 fadeIn and fadeOut 函数 但我不确定所有代码会是什么样子 特别是定位 以及在同一页面上执行两次的能力 如果您想淡出一
  • 如果我的文件中有翻译,如何在 DSpace 中翻译或替换主题术语

    如果语言切换 我想翻译我正在维护的 DSPace 实例中 item view xsl 中显示的主题 MeSH 术语 以前我使用下面的代码 我将其添加到XSLUtils java类 来查找 Babelmesh 站点并动态翻译它 public
  • 从 groovy 方法调用顶级函数

    我认为这有一个简单的答案 但我的网络搜索找不到它 如果我有以下内容 ideone http ideone com HVR89L def f class C public h f x new C h 此操作失败并出现以下错误 No signa
  • 在 OS X 下将 ImageMagick 编译为 64 位?

    我正在尝试安装moddims http code google com p moddims 在 OS X 上 请参阅上一个问题 https stackoverflow com questions 1185106 how do i confi
  • 用于沿大矩阵对角线插入 2x2 矩阵的代码的向量化

    我正在尝试沿大矩阵 例如 10x10 的对角线对小矩阵 2x2 进行元素插入 添加重叠值 并且仅将小矩阵插入到可以完全放入大矩阵的位置 我已经使用 for 循环实现了这一点 但我很好奇该过程是否可以矢量化 function M TestDi
  • Laravel 自定义数据透视表关系和预加载?

    我在为我的一个项目创建架构 模型时遇到问题 希望在这里获得一些帮助 我目前有 3 个表 Accessories products 和数据透视表 Product accessory
  • 在 asp.net core 应用程序的调试窗口中显示 NLog 输出

    是否可以在 Visual Studio 2017 调试窗口中显示 NLog 或内置调试器 正在记录的内容 我已将 NLog 设置为输出到文件 但对于开发来说 能够在调试窗口中查看调试消息将非常方便 我可以看到有关如何使用控制台执行此操作的文
  • 获取div中的文本[重复]

    这个问题在这里已经有答案了 可能的重复 jquery 获取没有子文本的元素的文本 https stackoverflow com questions 11362085 jquery get text for element without
  • 如何在 Angular 2 中过滤具有多个复选框的范围滑块的结果?

    我正在尝试过滤给定数组 db 的结果 有三个过滤器 价格 持续时间和类别 我尝试使用 filter 方法来过滤结果 这是我尝试过的代码链接 https stackblitz com edit multiple filters file ap
  • 在 Javascript 文件中插入 PHP 变量值

    我有一个 JavaScript 文件 其中有一个硬编码的 BASEURL 变量 该值随后由文件中的其他函数使用 我希望动态设置此 url 值 这样我就不需要针对不同的安装手动更改它 是否可以将 PHP 变量值插入 JavaScript 文件
  • 宏和函数同名

    我有以下代码 define myfunc a b myfunc do a a do b b void myfunc int a int b do blah a b int main int x 6 y 7 myfunc x y return
  • 为什么具有单事务的 mysqldump 比不具有单事务的 mysqldump 更一致?

    我已经阅读了手册 其中提到每笔交易都会添加一个BEGIN在开始转储之前声明 有人可以用更容易理解的方式详细说明这一点吗 这是我读到的 该选项在从服务器转储数据之前发出 BEGIN SQL 语句 它仅对事务表 例如 InnoDB 和 BDB