有一张表,数据量,比较大。后来我把这张表删除了。MySQL的数据库文件占用的磁盘空间还是没变啊。

解决方案 »

  1.   

       对于mysql数据库,大家都会用到,也很经常把一些最新的线上数据导入到本地测试,完于时间一长,数据库老了用不到,所以有的就直接删除掉了,但是这种方式使得数据库空间依然存在,如何清理掉数据库空间呢:以下是我个人操作的一种方式,贴出来供大家参考: 1.进入数据库目录:/usr/local/mysql/data2.备份要保存的数据库文件;3.停掉数据4.删除掉:/usr/local/mysql/data 目录下 ibdata1 文件;5.重启数据库,导入备份的数据库文件;
      

  2.   

    如果是 MYISAM 可以用 OPTIMIZE TABLE OPTIMIZE TABLE should be used if you have deleted a large part of a table or if you have made many changes to a table with variable-length rows (tables that have VARCHAR, VARBINARY, BLOB, or TEXT columns). Deleted rows are maintained in a linked list and subsequent INSERT operations reuse old row positions. You can use OPTIMIZE TABLE to reclaim the unused space and to defragment the data file. 
      

  3.   

    如果是INNODB,则只能导出所有数据库,然后删除IBDATA文件,然后再启动MYSQL,此时会自动重新创建一个新的IBDATA文件。再导入你的数据库即可。
      

  4.   

    额。这样啊。我说,看网上用的都是optimize table,我的不管用。原来只对myisam管用。
    结贴。