IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    减小innodb数据文件ibdata1

    花生发表于 2015-02-06 09:58:36
    love 0

    自己的vps上的mysql安装的是5.5版本,并且使用的innodb引擎,使用了一段时间后发觉硬盘占用很吓人,一顿

    du -sh *

    后看到是mysql的ibdata1文件居然30G+,瞬间差异了,哪来的那么多数据,然后仔细查了下各个库,总共都才6G的数据,怎么可能占了30G,然后网上找了下资料才知道ibdata1在删除表的数据的时候提及也不会减少,所以才会涨的这么大,下面就是解决的步骤,我的系统是Centos 6.4 64bit。

    首先先把数据里的文件导出来

    mysqldump -uroot -proot mydatabase>mydatabase.sql

    然后停止数据库并且修改mysql配置文件

    sudo /etc/init.d/mysql stop

    然后修改配置文件/etc/my.cnf

    sudo vim /etc/my.cnf
    
    [mysqld]
    innodb_file_per_table

    接着清空数据库data目录

    sudo rm -rf /usr/local/mysql/data/*

    接着重新构建数据

    /usr/local/mysql/scripts/mysql_install_db --user=mysql --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data;

    启动mysql

    sudo /etc/init.d/mysql start

    现在再去/usr/local/mysql/data中去看ibdata1就小了,数据库内容被分到了每一个table对应的文件中了

    《Mysql InnoDB 共享表空间和独立表空间》



沪ICP备19023445号-2号
友情链接