是否可以安全地杀死复制MySQL进程,即"复制到tmp表"?

Chr*_*der 6 mysql replication process

我在主MySQL(5.0,Linux)服务器上遇到问题:我试图在表行中添加注释,转换为ALTER TABLE命令.现在这个过程停留在"复制到tmp表"上,复制了100'000'000 +行.磁盘IO使用率高得令人不安.

由于主服务器正在使用复制,我不确定是否可以终止此过程.奴隶还没有看到ALTER TABLE命令.

(为了明确这一点:我正在讨论从MySQL-PROCESSLIST中杀死进程,而不是MySQL-Daemon进程本身.)

ggi*_*oux 4

是的,您可以杀死它 - 在提交事务之前,即直到 ALTER 完成之前,ALTER 不会将其写入二进制日志。所以从机不会看到也不会执行它,主机将回滚到旧的表结构。

show binlog events您可以使用或实用程序轻松验证 ALTER 是否尚未在二进制日志中mysqlbinlog