我对mysql的cloudsql很陌生。我有张带扳机的桌子。我需要在那个表上做一些ddl更改。不过,我不能休息。
我试着用pt-在线模式修改。因为它适用于我们的本地数据库。但是,在托管cloudsql的情况下,它不起作用。开启了一个问题与珀科纳(PT-1964年)。
接下来,我检查了一下。但是,根据他们的文档(https://github.com/github/gh-ost/blob/master/doc/requirements-and-limitations.md),-it不支持任何带有触发器的表。
使用共享锁选项进行更改对我来说是不可用的--因为我们也有一个副本。
是否有人知道任何其他方法/建议来在线更改mysql的cloudsql的ddl。
提前感谢!
发布于 2021-05-23 06:43:08
ALTER TABLE t MODIFY COLUMN c ENUM(...) ...如果这只是在末尾添加一个新选项,而不是超过255个选项,那么这应该是一个立即发生的“只使用模式”的更改。(这是在5.5,所以已经有12年了。)
对ENUM的任何其他更改都可能需要表的“副本”(缓慢)。
ALTER TABLE t ADD INDEX (...)自5.6 (2013年)以来效率很高(不是即时的,但不需要复制表格)。
其他栏目的改动--这要看情况而定。
这可能不适用于ADD UNIQUE,当然也不适用于对PRIMARY KEY的任何更改。
因此,基于这一信息,我希望用5.7的Cloud来“快速”处理一些事情。(对不起,我对MySQL港没有直接的了解。)我建议你和卖主商量一下。
https://dba.stackexchange.com/questions/292063
复制相似问题