mysql的ibdata1怎么删除或者清空

mysql的ibdata1怎么删除或者清空-CSDN社区  https://bbs.csdn.net/topics/391970793
发表回复
 
qq_28126377 2016-06-27
首先,感谢3位的回答。 我的做法是:先导出的数据,然后重装的MySql,然后将数据导入。
 
 
lamking 2016-06-22
不同的mysql版本,可以有不同的处理方法。 如果是5.6之前的版本,只能mysqlump导出数据,之后,删除掉数据库,之后停掉mysql,然后删除ibdata1 和ib_logfile,和数据库目录,然后启动mysql,重新建数据库导入数据。 如果是5.6之后的版本,并且innodb_file_per_table 设置的0 ,那做法同上。如果是innodb_file_per_table 设置的1,那可以导出表结构,之后停掉mysql,备份data目录下的那些数据库目录,之后删除这些目录。之后删除ibdata1 和ib_logfile,然后启动mysql,创建数据库导入之前备份的表结构,然后对所有innodb 引擎的表执行 alter table xxx discard tablespace 的命令,之后,把备份的目录下的文件拷贝过去覆盖,设置好目录文件权限之后,再import tablespace,对myisam引擎的执行 repair ,之后重建一下索引,就OK了,其实也挺麻烦的,貌似还不如直接导出备份,再导入。 另外,有些版本。比如忘了是阿里还是哪个提供了一个修改版的mysql,是可以在线收缩ibd文件的,不过我只是看到过,没太留意。
 
 
ACMAIN_CHM 2016-06-22
ibdata1 无法直接清空,只能先mysqldump导出所有数据,然后停止MYSQL服务,再删除IBDATA1文件,后再恢复所有数据库。
 
 
allen519 2016-06-22
如果你的 ibdata文件 太大 基本上是 因为 innodb 共享表空间文件的设置导致的 清理的话 需要先 dump出数据,关闭mysql 修改my .cnf 文件 然后删除 ibdata文件 ,和一些应用数据库文件 启动mysql 之后, 验证一些 参数设置是否成功 最后 再把dump出来的数据进行导入 这时候 ibdata 文件 将不会像之前那么大了 参考一下这个吧 http://blog.chinaunix.net/uid-24373487-id-4223322.html
2
 
 
posted @   ingemar,fang  阅读(413)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示