gpt4 book ai didi

MySQL InnoDB 表在导出时锁定

转载 作者:行者123 更新时间:2023-11-29 03:43:30 24 4
gpt4 key购买 nike

我有一个 InnoDB MySQL 数据库。当我导出 SQL 转储时,锁定是如何发生的?导出期间整个数据库是否锁定?还是只是 table ?或者只是单独的行? InnoDB 究竟如何进行导出?

最佳答案

您可以控制锁定的内容。

为了最安全,您可以像这样锁定所有表:

mysqldump --lock-all-tables

文档:锁定所有数据库中的所有表。这是通过在整个转储期间获取全局读锁来实现的。此选项会自动关闭 --single-transaction 和 --lock-tables。

或者如果您确定不打算更改表格:

mysqldump --single-transaction

文档:在处理 --single-transaction 转储时,为确保转储文件有效(正确的表内容和二进制日志坐标),其他连接不应使用以下语句:ALTER TABLE、CREATE TABLE、DROP TABLE , 重命名表,截断表。一致性读取并不与这些语句隔离,因此在要转储的表上使用它们可能会导致 mysqldump 执行的 SELECT 检索表内容以获取不正确的内容或失败。

关于MySQL InnoDB 表在导出时锁定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10068533/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com