MySQL 线上执行大事务 or 锁表操作 详解


很多情况下,DBA需要在线执行一些无法在线进行的操作。这句话说着很绕口,比如给某个核心级表加一列或者执行修改操作,此时不但主库从库要长时间锁表,主从延迟也会变大。那么应该如何操作呢?

很简单,使用SET SESSION SQL_LOG_BIN= {0|1}在只在本地操作,就可以了,可以先在备库执行,然后切换主备,在原主库再执行。然后在各个从库分别执行。考虑的变更操作的具体性,到底是先在主库执行还是先在从库执行要自己斟酌。

相关内容