首页 > code

InnoDB删除数据后释放磁盘空间的方法

最近发现mysql里的一个数据文件竟然高达150G,当时就懵了,

经过查文档发现原来,所有信息都存在这一个文件里,访问速度慢就不用说了,关键是将数据删除了,磁盘空间不释放,文件大小,不断的累计,这个就要命了,也就是说这是一个无底洞,迟早会把你的磁盘的空间给弄没,所以在测试服务器做了测试,也就是让 ibdata1 瘦身

# 在操作之前建议先将数据库设置为只读,防止数据出错
innodb_force_recovery = 4
# 先备份数据库:
mysqldump -u root -p –quick –force –all-databases > ALLmysqldata.sql
# 停止数据库
service mysqld stop
# 删除这些大文件
rm /usr/local/mysql/var/ibdata1
rm /usr/local/mysql/var/ib_logfile*
#配置my.cnf
innodb_file_per_table=1
#对每张表使用单独的innoDB文件, 修改/etc/my.cnf文件
# 手动删除除Mysql之外所有数据库文件夹,然后启动数据库
service mysqld start
# 还原数据
mysql -u root -p < ALLmysqldata.sql


ibtmp1文件过大
mysql设置:
innodb_temp_data_file_path = ibtmp1:12M:autoextend:max:3G
也可以定期重启,自动消失


mysql bin.00000_多种方法关闭并清除MySQL日志
# mysql -u root -p
mysql -u root -p
reset master;
(注意有;)


  • mysql批量删除所有文章某区间内不同的内容
  • 【批量删除所有文章某区间内容】 例:某mysql数据内有几十万条数据,删除所有 *** 内的内容,***的内容 […]

  • mysql语句请尽量不使用ORDER BY RAND()
  • 不使用ORDER BY RAND() select id from `dynamic` order by ra […]

  • 批量删除wordpress内容,按标题内容字段字段长短
  • 批量删除文章,按标题内容字段字段长短, DELETE FROM wp_posts where length(p […]

  • 批量删除wordpress所有内容页里某个字符段前后的内容
  • 举个栗子一: 批量删除某个内容前的所有内容 例:删除表wp_posts 字段post_content 内容里所 […]

  • mysql批量导出标题含有“空空”的文章ID与标题,且按特定id区间
  • mysql常用功能,把某个表的某个字段按要求按区间批量导出,mysql -uroot mysql -uroot […]

  • mysql语句之INSERT INTO批量插入数据案例
  • mysql语句之INSERT INTO批量插入数据: INSERT INTO dede_archives (t […]