我在主MySQL(5.0,Linux)服务器上遇到问题:我试图在表行中添加注释,这会转换为ALTER TABLE命令。现在,该过程停留在“复制到tmp表”上,复制了100'000'000 +行。磁盘IO使用率过高。
由于主服务器正在使用复制,因此我不确定是否可以终止此过程。从站尚未看到ALTER TABLE命令。
(明确地说:我说的是从MySQL-PROCESSLIST杀死进程,而不是从MySQL-Daemon-process进程杀死。)
最佳答案
是的,您可以将其 kill -在提交事务之前,即在ALTER完成之前,ALTER不会将其放入binlog中。因此,从属将不会看到也不执行它,而主控将回滚到旧表结构。
您可以使用show binlog events
或mysqlbinlog
实用程序轻松地验证ALTER是否尚未在二进制日志中。
关于mysql - 杀死一个复制的mysqlt进程 'copying to tmp table'是否安全?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2147269/