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

2014-11-24 17:28:49 · 作者: · 浏览: 0

问题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 多个表, 问题解决了。