gpt4 book ai didi

MySQL 24x7 - InnoDB 更改表 block (表锁)

转载 作者:行者123 更新时间:2023-11-29 09:21:12 26 4
gpt4 key购买 nike

我们正在努力最大限度地减少基于 mysql 的应用程序的(维护)停机时间。

看来InnoDB热备份将使我们能够在不停止服务器的情况下进行定期备份;主/从复制将为我们提供故障转移功能(由于复制滞后而丢失几秒钟的数据并不是什么大问题,但也不是一个严重的问题)。

到目前为止,备份和意外停机。现在到预期的停机时间 -

据我从阅读在线文档和书籍中了解到,InnoDB 表上的 ALTER TABLE 将需要 TABLE LOCK,从而阻止对此表的所有读取和写入。实际上,这将意味着应用程序停机。一些大型表可能需要几个小时才能更新。

是否有任何已知的解决方法?完美的解决方法当然是非阻塞的 ALTER TABLE。但任何能让 ALTER TABLE 更快的方法也很有趣。

提前致谢!

PS - 商业(非免费)工具也可以,当然也欢迎免费解决方案

最佳答案

由于您有复制设置,通常可以在从属设备上使用 ALTER TABLE 进行一些欺骗,让从属设备在完成后 catch ,交换角色,然后在前一个主设备上进行 ALTER。这并不适用于所有 ALTER TABLE 命令,但它可以处理其中的大多数命令。

还有一个第三方工具 here ,但我不确定它的使用频率如何、效果如何等等......

关于MySQL 24x7 - InnoDB 更改表 block (表锁),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1744791/

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