20190404MySQL疑难杂症-1034

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20190404MySQL疑难杂症-1034相关的知识,希望对你有一定的参考价值。

目的

写文章的目的只是为了记录一下工作中遇到的一些实际问题,方便后续自己的复习。

问题描述

收到来自于开发的一个问题描述,说是在UAT环境给一张表加一个字段,但是怎么操作都是错误,如图:
技术图片

问题解析

其实第一眼看上去的时候,这个错误信息给我的感觉就是这个表的数据字典出了问题,需要进行修复,但是执行下面操作的时候一直是提示是失败,这个时候就需要求助强大的google的了,通过google了一番的话,大部分提示都是和临时表的表空间有关联。
技术图片

技术图片

技术图片

通过上面的截图我们可以很明显的看到这张表的磁盘大小是5G以上,由于是online 添加字段所以肯定是会创建临时表的,但是临时表是在根目录下面的 /tmp下面,可以看到根目录剩下的空间只有2.9G,没有足够的空间创建临时表的 。所以才会抛出上述的这个错误信息。

问题解决

  1. 将根目录下面的一些磁盘空间清楚,保证有足够的空间在线执行online DDL,建议最好是线下无业务的时候执行,不推荐这种方式在数据量比较大的时候。
  2. 使用percona的pt-online-schema-change命令。

以上是关于20190404MySQL疑难杂症-1034的主要内容,如果未能解决你的问题,请参考以下文章

MySQL疑难杂症如何将树形结构存储在数据库中(方案Adjacency List)

疑难杂症----udf提权无法导出.dll

EF6与Mysql疑难问题记录

MySQL疑难杂症如何将树形结构存储在数据库中(方案二 Path Enumeration)

MySQL疑难杂症如何将树形结构存储在数据库中(方案三 Closure Table)

Mybatis疑难事件簿:#‘传递布尔值无效问题