MySQL Workbench 会话看不到数据库更新

2023-11-22

我使用 .deb 在 Ubuntu 系统中安装了 MySQL Workbench (community-6.2.3)。

工作台会话似乎没有看到其他会话(应用程序/命令行客户端)对数据库完成的更新(DML)。
新会话能够在启动时看到数据库的正确状态,但随后发生的更改对其不可见。
在工作台中提交后,工作台会话似乎确实与数据库同步。

我越来越Error Code: 1412. Table definition has changed, please retry transaction 当我尝试查询从不同会话创建的表时。

非工作台会话似乎没有任何这些问题。

我是否缺少配置或其他什么?


Update:

这在一定程度上是预期的行为,并且部分是一个错误.

I'm 不使用自动提交模式, 在这种情况下SELECT语句使用第一次读取时建立的快照执行。
这是 MySQL Workbench 使用的 REPEATABLE READ 隔离级别的行为。

有没有办法更改或设置 MySQL Workbench 会话的默认隔离级别?

在工作台中执行时:

SELECT @@Global.tx_isolation, @@tx_isolation, @@session.tx_isolation;

returns:

READ-COMMITTED, REPEATABLE-READ, REPEATABLE-READ

与在命令行客户端中相反:

READ-COMMITTED, READ-COMMITTED, READ-COMMITTED

Related:
MySQL REPEATABLE-READ Workbench 事务级别未设置
MySQL Workbench 和默认会话隔离级别


这是一个老问题,但我仍然有同样的错误。 OP 提到了另一个线程中 MySQL Workbench 上打开的错误(http://bugs.mysql.com/bug.php?id=69800).

根据文档(https://dev.mysql.com/doc/refman/5.7/en/innodb-transaction-isolation-levels.html#isolevel_repeatable-read),默认隔离级别是可重复读取。

这意味着数据库的快照是在第一次读取事务时创建的。此事务的每次其他读取都会向您显示快照的数据。

因此,您需要结束事务(提交或回滚)才能在下次读取时获取新快照。

我在 AutoCommit 上设置 MySQL Workbench 的同事没有看到可重复读取行为。我们发现这是因为每次 SELECT 之后,事务都会关闭并创建一个新快照。

因此,由于错误仍未得到纠正,解决方法是:

  • 切换到自动提交以自动创建新快照
  • 或在每次 SELECT 之后提交/回滚以创建新快照
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MySQL Workbench 会话看不到数据库更新 的相关文章

随机推荐

  • C++:声明一个全局类并从其他类访问它?

    我有一个类应该从 main 全局声明并从程序中的其他声明的类访问 我该怎么做 class A int i int value return i class B global A a or extern int calc return a v
  • Python 中 Tesseract OCR 的 UnicodeDecodeError

    我正在尝试使用 Python 中的 Tesseract OCR 从图像文件中提取文本 但我遇到了一个错误 我可以弄清楚如何处理它 我的所有环境都很好 因为我用 python 中的 ocr 测试了一些示例图像 这是代码 from PIL im
  • 更改 MySQL 错误消息语言

    我的 MySQL 错误语言有问题 当查询出现错误时 该错误不是英文的 就像下面的消息 Le champ id ne peut tre vide null 我已经运行此查询来更改语言 但仍然出现相同的错误 SET lc messages en
  • 本地 ffmpeg 输出到 S3 Bucket

    这是我的设置 我有一台运行 ffmpeg 的本地 PC 输出配置为 h 264 和 aac 以及在AWS创建的S3存储桶 我需要做的是 使用 ffmpeg local 输出将文件直接上传到 s3 存储桶 附 计划将 s3 存储桶与 clou
  • DOM/Javascript:获取标签后的文本

    如何获取 html 文档中标签后面的文本 there p a hello a there p 我发现有一种方法可以用 xpath 做到这一点 从下一个标签获取文本 但我没有使用 xpath 并且希望不必为此而开始 我意识到我可以获取 p 标
  • 如何在Java.time中将LocalDateTime的精度设置为纳秒?

    根据java time 文档 java time应该能够以纳秒精度呈现 LocalDateTime 或 LocalTime 但是当我运行时LocalDateTime now 打印出来 只显示3位数字 而不是9位 像这样 2016 08 11
  • 怎么去掉这些点啊!

    我正在 VS2008 的一个项目上编码 我试图按 CTR R E 将字段封装为属性 resharper 的功能 但我摸索着 现在我到处都是点 我有空格 我不知道如何摆脱它 例如 using System Namespace EgNamesp
  • C++ 从 hBitmap 获取 RGB

    使用位图对我来说是非常陌生的 所以我一直在努力阅读我读过的在线教程和策略 基本上我的目标是扫描屏幕以获取特定的 RGB 值 我相信执行此操作的步骤是在 hBitmap 中捕获屏幕 然后从中生成一个我可以扫描的 RGB 值数组 我最初从 Ge
  • 空基类优化

    引用 C 标准第 1 8 节中的两句话 对象是一个存储区域 基类子对象的大小可能为零 我不认为存储区域的大小可以为零 这意味着某些基类子对象实际上并不是对象 这些说法如何共存 对于 区域 的定义进行哲学争论是没有必要的 1 8 5 说 除非
  • 使一个条形的边框比其他条形更暗

    我在 ggplot2 中创建了一个条形图 其中 3 个条代表做出 3 个选择中的 1 个的概率 我想添加一个bolded显示正确响应的条形周围的边框 我还没有找到办法做到这一点 我可以改变所有条形的颜色 但不仅仅是一个 所附图像显示了我生成
  • 为什么 Spark Cassandra 连接器会失败并出现 NoHostAvailableException?

    我在让 Spark Cassandra Connector 在 Scala 中工作时遇到问题 我正在使用这些版本 斯卡拉2 10 4 火花核心 1 0 2 cassandra thrift 2 1 0 我安装的cassandra是v2 1
  • 升压 asio io_service.run()

    我只是想看一下 asio聊天服务器示例 我的问题是关于他们的使用情况io service run 功能 的文档io service run 函数说 run 函数会阻塞 直到所有工作都完成并且没有 更多处理程序被调度 或者直到 io serv
  • 使用 g++ 与 pragma 链接

    在 Visual C 中 可以通过以下方式链接到代码本身中的库 pragma comment lib libname lib g 中可能有类似的东西吗 The 升压配置库对自动链接有一些支持 使用特定编译器的相关编译器特定代码 然而 文档指
  • 如何在序列化 OData 响应时忽略 Null 值

    我需要从响应中完全省略空值字段 我可以通过修改正常 webapi 响应的 JsonFormatter 序列化设置来做到这一点 config Formatters JsonFormatter SerializationSettings Nul
  • 哪款相机会在移动设备中打开 getUserMedia API?前部还是后部?

    在桌面上使用getUserMedia API访问摄像头时 会打开网络摄像头 当然这对视频通信有帮助 但是在移动设备上使用时会调用哪个摄像头 前置摄像头还是后置摄像头 是否需要代码来选择相机 有一种解决方案 用户可以选择其中一台摄像机 使用
  • 从 PHP 检查 Google 地图点是否在多边形中

    我一直在寻找一种方法来检查一个点是否是多边形的一部分 该多边形是从文件加载的 与这个问题相关的所有答案都是用javascript解决的 但我需要在服务器端执行此操作 这是因为结果不需要作为 Web 客户端显示给用户 而是需要存储并稍后用作参
  • 我想使用 EBImage 包,但它说它不适用于我的 R 版本

    install packages 中的警告 软件包 EBImage 不可用 适用于 R 版本 3 2 4 修订版 现在该怎么办有什么帮助 请指导我 EBImage作为 Bioconductor 项目的一部分分发 要安装包 请使用 sourc
  • MongoDB 不区分大小写的键搜索

    我可以不区分大小写地查询值 但我想不敏感地查询键 以便用户可以以全部小写形式键入它们 这不起作用 因为它不是有效的 JSON lastName i Jones 除了将新的键集合作为值之外 是否有我可以使用的策略 目前还没有办法做到这一点 M
  • 无法在 Google App Engine 中调试 dev_appserver

    我不认为这个问题是 PyDev 所独有的 而是任何 python 调试器所独有的 使用 Eclipse 和 pydev 我无法在 dev appserver Google 应用程序引擎开发服务器 进程中中断 WSGI 处理程序 我不是 10
  • MySQL Workbench 会话看不到数据库更新

    我使用 deb 在 Ubuntu 系统中安装了 MySQL Workbench community 6 2 3 工作台会话似乎没有看到其他会话 应用程序 命令行客户端 对数据库完成的更新 DML 新会话能够在启动时看到数据库的正确状态 但随