菜单开关

周梦康 发表于 2017-08-24 2179 次浏览

今天在日常环境修改一张表的结构的时候,执行了很久,最后提示类似于table tmp-xxx.table is full

马上执行df -h发现磁盘满了,然后我就删除了一些日志,然后重新执行,发现磁盘又满了,然后又找了些日志删除,依旧如此。

最后发现 mysql/var/ibdata1 一直在增大。

原因:
当 ibdata1 文件增长太快,通常是 MySQL 里长时间运行的被遗忘的事务引起的。

也就是说我改表的语句事务执行失败,然而事务却记录到ibdata1里面去了,也不会被释放。这算不算是一个大坑呢???mysql 什么时候解决?

何解???

应该需要使用 mysqldump 做一个逻辑全备份,然后停止 MySQL 并删除所有数据库、ib_logfile、ibdata1 文件。当你再启动 MySQL 的时候将会创建一个新的共享表空间。然后恢复逻辑备份。

评论列表