• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql 表满了 “the table XXX is full ”的有关问题_mysql

mysql 搞代码 7年前 (2018-06-09) 234次浏览 已收录 0个评论

mysql 表满了 “the table XXX is full ”的问题

      趁时间还有一些,再撸一篇,这问题是今天遇到的,在此先感谢运维的童鞋mysql 表满了  “the table XXX is full ”的有关问题_mysql

 

     【背景】

      早上需要给某张大表增加一列

alter table A add column XXX tinyint default 0 comment '是否深度识别 0否 1是';

      A 表当时数据行数千万数量级,当流量处于低峰时,进行上面sql,执行了大概5分钟后,报“the table XXX is  full” 问题

 

    【问题定位】

     当时先在网上查找了一下,有设置最大行数的,查看配置已经很大了,足以满足当下的增长需求;有清理目录的,但没有给出具体的目录,这时候求助运维同学,解释如下:在执行alter 操作的时候,会对原表进行临时复制,在副本上进行更改,然后删除原表,再对新表进行重命名。在执行alter table时,其它用户可以阅读原表,但是对表的更新和修改的操作将被延迟,直到新表生成为止。新表生成后,这些更新和修改信息会自动转移到新表上,但是rename操作不会创建临时表。通过了解原理,再结合”执行5分钟后,报错“的现象,考虑是因为创建临时表导致磁盘空间不够,导致执行语句失败

 

   【解决方案】

     1.删除目录下的无用文件

     2.将临时表目录指到一个大的磁盘目录上 (但是需要重启)

   

   【结束语】

     mysql 并没有像oracle 那样强悍,有些东西需要提前准备

    

欢迎大家阅读《mysql 表满了 “the table XXX is full ”的有关问题_mysql》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql 表满了 “the table XXX is full ”的有关问题_mysql

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址