最近发现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;
(注意有;)