菜单开关

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

免费领取阿里云优惠券 我的直播 - 《PHP 进阶之路》

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

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

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

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

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

何解???

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

嗨,老铁,欢迎来到我的博客!

如果觉得我的内容还不错的话,可以关注下我在 segmentfault.com 上的直播。我主要从事 PHP 和 Java 方面的开发,《深入 PHP 内核》作者之一。

[视频直播] PHP 进阶之路 - 亿级 pv 网站架构的技术细节与套路 直播中我将毫无保留的分享我这六年的全部工作经验和踩坑的故事,以及会穿插着一些面试中的 考点难点加分点

评论列表