Chinaunix首页 | 论坛 | 博客
  • 博客访问: 320850
  • 博文数量: 96
  • 博客积分: 230
  • 博客等级: 二等列兵
  • 技术积分: 722
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-13 22:25
个人简介

心安处即吾乡!

文章分类

全部博文(96)

文章存档

2016年(1)

2014年(79)

2013年(7)

2012年(9)

我的朋友

分类: LINUX

2014-04-17 20:04:01

问题描述:
Got error 28 from storage engine
使用mysqldump备份数据库时,报错,错误信息如下:
mysqldump: Error: 'Got error 28 from storage engine' when trying to dump tablespaces
mysqldump: Couldn't execute 'show fields from `your_database or table name`': Got error 28 from storage engine (1030)

以下答案引用自:阿铭linux网站
使用计划任务备份时,总有这样的错误,而手动执行时,又很正常。
网上查找了些资料,猜测可能是因为磁盘空间不够导致的,但是一直想不通为什么手动执行又不抱错。最后研究了下备份脚本,发现问题所在,脚本的逻辑是,先备份,最后有一条命令就是删除创建日期大于1天的文件。其实问题就是在这里了,因为脚本备份时,磁盘空间已经不足了,因为我的表很大,十几个G,不够创建临时表的空间,导致不能备份完成,而最后执行删除创建日期大于1天的文件后,腾出空间,所以我手动执行又没有问题了。

解决办法:把脚本改动了一下,首先是删除旧文件,腾冲足够空间,然后再备份。这里还要注意的是,如果是找创建日期大于一天的文件,用-mtime  +1 是不对的,要使用 -mmin +1200  (大于20小时),至于为什么,你自己想想吧。

本人遇到的是下面这种情况:
除以上原因外,还有一种可能,是我遇到的,就是/分区使用100%了

阅读(1311) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~