mysql 数据库,版本是 5.1.22因为表是InnoDB型,所以数据都存在 ibdata1 上面了。现在发现删除了大量数据后, ibdata1 的大小都不会减小。因为现场数据库是尽量不重启的,数据库的记录很多,达到1000W。
如果是要重建数据库,基本上要好几个小时,所以这种方法尽可能不用。请问有什么办法可以缩小 ibdata1 的大小呢?另外,我把表从InnoDB型转成 MyISAM型,发现ibdata1 大小不变。这该怎么办?谢谢!!!!
如果是要重建数据库,基本上要好几个小时,所以这种方法尽可能不用。请问有什么办法可以缩小 ibdata1 的大小呢?另外,我把表从InnoDB型转成 MyISAM型,发现ibdata1 大小不变。这该怎么办?谢谢!!!!
删除IBDATA
重新导入数据。
2, 把数据库用 mysqldump 出来后, 再删除 数据库, 停止数据库服务, 删除ibdata1文件,再重起,再重新导入数据.两种方法,都需要大量的硬盘,以及时间比较长.比较遗憾的是,mysql没有提供像 sqlserver 那种收缩数据库的功能,必须要停止数据库。这对于生产线上的数据库,是件很痛苦的过程。