数据库总表 ibdata1文件占用,怎么清理呢?

  • 来源:网络
  • 更新日期:2020-07-14

摘要:数据库总表 ibdata1文件占用,怎么清理呢?mysql自带的数据库。建议保留。数据库变大不是好事吗?不是代表业务变多 吗?难道数据库对你们来说只有1M才能满意吗?占点磁盘空间怎么了?

数据库总表 ibdata1文件占用,怎么清理呢?

mysql自带的数据库。建议保留。

数据库变大不是好事吗?不是代表业务变多 吗?难道数据库对你们来说只有1M才能满意吗?占点磁盘空间怎么了?站在运维角度上数据是无价的

如果执意要删除,参考下面

接下来的配置就是为了解决这个问题。

1、先停止所有访问数据库的服务;2、导出数据文件;

mysqldump -u root -p dbname| gzip > dbname.sql.gz该命令会将数据库压缩导出,会慢点,如果你数据库并不大的话,可以不用压缩,那么就是:

mysqldump -u root -p dbname > dbname.sql3、修改MySQL配置;

vi /etc/mysql/my.cnf在[mysqld]下添加一行:

innodb_file_per_table并删除数据库所在路径中的ibdata1及两个log文件。然后重新启动数据库:

service mysql restart接下来登进数据库,使用以下命令查看配置是否生效:

show variables like '%per_table%';如果输出结果为ON,那么配置已经修改成功;4、导入原来的数据登入数据库后执行:

source dbname.sql或者不登录mysql执行:

mysqldump -uroot -p dbname < dbname.sql;导入完成后即可发现,ibdata1这个文件已经不怎么增长了,所有数据表的数据都会存在他自己目录下的同名db文件中,这时候清理表数据后,空间占用也会相应的减小。