加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySql ibdata1文件太大怎样缩小

发布时间:2022-04-09 01:16:05 所属栏目:MySql教程 来源:互联网
导读:MySql innodb如果是共享表空间,ibdata1文件越来越大,达到了30多个G,对一些没用的表进行清空: truncate table xxx; 然后optimize table xxx; 没有效果 因为对共享表空间不起作用。 mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。 解决方法:数
       MySql innodb如果是共享表空间,ibdata1文件越来越大,达到了30多个G,对一些没用的表进行清空:
      truncate table xxx;
      然后optimize table xxx; 没有效果
      因为对共享表空间不起作用。
      mysql ibdata1存放数据,索引等,是MYSQL的最主要的数据。
  
解决方法:数据文件单独存放(共享表空间如何改为每个表独立的表空间文件)。
步骤如下:
  
1)备份数据库
 
从命令行进入MySQL Server 5.0bin
备份全部数据库,执行命令
D:>mysqldump -q -umysql -ppassword --add-drop-table --all-databases > c:/all.sql
 
做完此步后,停止数据库服务。
  
2)找到my.ini或my.cnf文件
linux下执行 ./mysqld --verbose --help | grep -A 1 'Default options'
会有类似显示:
Default options are read from the following files in the given order:
/etc/my.cnf ~/.my.cnf /usr/local/service/mysql3306/etc/my.cnf
 
windows环境下可以:
mysqld --verbose --help > mysqlhelp.txt
notepad mysqlhelp.txt
在里面查找Default options,可以看到查找my.ini的顺序,以找到真实目录
  
3) 还原数据库
 
启动数据库服务
 
从命令行进入MySQL Server 5.0bin
还原全部数据库,执行命令mysql -uusername -pyourpassword < c:/all.sql
 
经过以上几步后,可以看到新的ibdata1文件就只有几十M了,数据及索引都变成了针对单个表的小ibd文件了,它们在相应数据库的文件夹下面。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读