0

我的服务器已满 94%,所以我尝试将一些 mysql 列从 int 更改为 tinyint 以释放一些空间,但是,一个表太大以至于当我运行时

ALTER TABLE `app_play_data` CHANGE `countryId` `countryId` TINYINT(11) UNSIGNED NOT NULL

它开始将数据复制到 tmp 表。当我运行 show processlist 时,状态是复制到 tmp 表。

然后我用 kill 来停止进程

在我这样做之后它显示被杀死,但是,状态通过排序更改为修复。

但是现在磁盘已经 100% 满了,而且状态一直保持不变,

我怎样才能在不损坏桌子的情况下解决这个问题?

4

1 回答 1

1

杀死正在执行“更改表”的进程是非常危险的!

当磁盘 100% 满时 MySQL 不喜欢它。

最好的解决方案是释放一些空间或立即增加驱动器!

在大多数情况下,MySQL 将等到有可用空间并继续工作。

于 2013-11-06T07:40:35.040 回答