MySQL磁盘满repair多个表问题的解决


问题1: MySQL 磁盘满

问题2: mysql repair 多个表

repair table: 需要按周以下步骤

1: lock table EE write ;

2: flush table EE ;

3: repair table EE ;

4: flush table EE ;

5: unlock table EE ;

// 在使用mysql过程中发现了一个奇怪的问题:

我的磁盘空间快要满了(%90),df du 看了一下, 是mysql 占用了大量的空间,于是我把mysql中每个表中的数据删除了一半,但是硬盘空间仍然被占用%90 。

我但是没有管, 但是过了半个月,磁盘仍然没有满,按理说很快就会超过%90 报警的 。

于是我想找出原因:

办法一: 怀疑是有进程在想里面些数据, 不能delete 。

./mysqladmin shutdown

./mysqld-safe

重启mysql , 没有任何效果

办法二: flush 每个表, 也不行

办法三: repair 其中一个表, 看来以下, 原来700M 的空间编程了200M左右。

但是问题又来了, 我有256个表, 我写了C++程序, 顺序repair 每一个表,但是会产生Commands out of sync; you can't run this command now 错误, 不能同步

后来, 我随便试了以下, repair table1 , table2, table3 ; 这样是可以的。

原来 repair 可以一次可以repair 多个表, 问题解决了。

相关内容