小编Bre*_*ett的帖子

InnoDB 和隔离级别 - 可重复读取不是一件坏事吗?

我正在阅读有关InnoDB's 隔离级别的内容,这在很大程度上是有道理的,但我不明白为什么是unrepeatable reads一件坏事?不应该反过来吗?

举些例子:

因此,假设我们有一个用于销售产品的库存列,每次有人购买一件商品时,我们都会从该列中取出 1 件商品,使用Repeatable readserializable隔离级别会不会破坏数据完整性?

例如:

TX A: start transaction;
TX B: set session transaction isolation level repeatable read;
TX B: start transaction;
TX A: select stock from products;               -- val = 8
TX B: select stock from products;               -- val = 8
TX A: update products set stock = stock - 1;    -- val = 7
TX B: select stock from products;               -- val = 8
TX A: …
Run Code Online (Sandbox Code Playgroud)

mysql innodb locking isolation-level

4
推荐指数
1
解决办法
770
查看次数

移动数据目录中的文件后无法访问MySQL数据库

我在本地使用 Xampp,我最近进行了一次计算机升级,从 XP 升级到 Windows 7,还获得了一个新驱动器来安装 Windows。

我有我所有的旧 Xampp 文件:G:\xampp 我安装了新的 Xampp:(C:\xampp这是他们以前所在的目录位置)

然后我将所有内容复制 G:\xampp\mysql\dataC:\xampp\mysql\data.

当我在 SQLYog 中查看特定数据库时,除了一张表外,我可以看到一切正常:

表 'qotm.wp_36rwq4kcgt_options' 不存在

...但是当我尝试通过脚本连接到数据库时,我得到:

InnoDB:尽管存在表的 .frm 文件,但无法从 InnoDB 的内部数据字典打开表 qotm/wp_36rwq4kcgt_options。有关如何解决问题,请参阅http://dev.mysql.com/doc/refman/5.6/en/innodb-troubleshooting.html

我访问了那个链接,我能找到的最相关的是问题打开表下的部分;然而,我没有任何 #SQL-在该目录中的.ibd *文件,也没有任何的.ibd任何文件在那里。

然后我找到了这篇文章,但它只提到了我没有的.ibd文件。

mysql innodb restore

4
推荐指数
1
解决办法
3274
查看次数

标签 统计

innodb ×2

mysql ×2

isolation-level ×1

locking ×1

restore ×1