mysql ibdata1文件被undo log日志占了几百个G。-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

mysql ibdata1文件被undo log日志占了几百个G。

我是小助手 2019-06-06 13:59:08 944

有没有什么办法把空间清理出来。数据库有1T的数据量用mysqldump导出要花太多时间了。有没有什么办法可以直接清理ibdata1的办法。

关系型数据库 MySQL 数据库
分享到
取消 提交回答
全部回答(1)
  • 程序员在深圳
    2019-07-17 23:36:50

    你需要将ibdata1拆分,每个表一个undo log和redo log
    主要是修改my.cnf中的这个配置

    innodb_file_per_table=1  

    具体操作步骤如下(谨慎操作,最好现在开发环境测试一下)
    一、备份数据库

    mysqldump -q -umysql -ppassword --add-drop-table --all-databases > all.sql

    之后停止服务
    二、修改mysql配置文件

    innodb_file_per_table=1 

    三、删除原数据文件,包括 ibdata1、ib_logfile、data目录下数据库文件
    四、还原数据库

    mysql -uusername -pyourpassword < all.sql
    0 0
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

推荐文章
相似问题