记录一次数据爆仓——The table 'XXX' is full !!!

Posted rabbitmask

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录一次数据爆仓——The table 'XXX' is full !!!相关的知识,希望对你有一定的参考价值。

操作环境:Centos 

问       题:The table ‘XXX‘ is full !!!

当碰到此数据库报错提示的时候,,,

我,,,有点懵,,,

登录服务器查看,,发现

技术分享图片

我了个去,,我绝不承认这个服务器是我搭的,,(手动滑稽X2)

mysql数据库的位置放到了分区/dev/mapper/centos-root 

emmmm,,,,,最终塞这么满的原因

还是我昨天下班临走前将数据同步进了solr

对,,没有听错!!!solr的数据源居然也在这!

目前mysql的数据应该在15G左右,

技术分享图片

然而datadir只占用了4.2个G 

(这里问一句?mysql的数据会压缩存储?)

也!就!是!说! 罪魁祸首是solr!!!

刚开始的思路是,将datadir移动到/home分区

然后修改mysql配置文件变更datadir

然而现在看来治标不治本

因为磁盘空间爆炸的根本原因在于solr的数据

所以最终的解决方案是拓展/root分区

1.查看当前分区情况

df -h

2.备份/home区

tar cvf /tmp/home.tar/home

3.卸载/home区 

 fuser -km /home/

 umount /home

4.删除/home所在的lv

lvremove /dev/mapper/centos-home

5.扩展/root区所在的lv

lvextend -L +800G /dev/mapper/centos-root

    根据需求调整,我这里拓展了800G

6.扩展/root文件系统 

xfs_growfs /dev/mapper/centos-root

    df -h 皮一下,前面忘记截图了,原/root区是50G 至此/root区已经完成拓展

技术分享图片

7.接下来修复/home区,重新创建home lv

lvcreate -L 168G -n/dev/mapper/centos-home

    什么?为什么是168G?

技术分享图片

    手动滑稽~

8.创建/home区文件系统

mkfs.xfs /dev/mapper/centos-home

9./home区文件恢复 

mount /dev/mapper/centos-home

至此,再df -h皮一下,/home分区已经从969G变更到了168G。

技术分享图片

10./home区文件恢复

tar xvf /tmp/home.tar -C/home/

cd /home/home/

mv * ../

至此,爆仓事件圆满结束~

技术分享图片

唉?数据备份还没完成?= =

不管结局成功与否

请各位小伙伴养成磁盘操作前备份数据的好习惯

万一,这车翻了呢?

 

鸣谢:

    团队的各位小伙伴们

    Parrot Security的小伙伴们和狗管理们

吐槽:

    原来矜持那么久不让我加好友的狗管理

    居然就离我两站路,世界真™小。。。

    不说了,穿上裤子面基去。。。。。。

 

 

 

 

 

我可以弱弱的丢个个人微信公众号么,粉丝太少一直没有写作激情,

如果你们喜欢技术,喜欢parrotsec,喜欢二次元,期待认识大家。

才不是什么萝莉控,只是喜欢的女孩纸碰巧是萝莉罢了,哼~

 技术分享图片

 

以上是关于记录一次数据爆仓——The table 'XXX' is full !!!的主要内容,如果未能解决你的问题,请参考以下文章

[ERR] 1114 - The table 'xxx' is full

ALTER TABLE SWITCH' statement failed. The table x' is partitioned while index 'x' is

Mysql还原时提示“The table 'TABLENAME' is full”

mysql 解决 ERROR 1114 (HY000): The table 'XXX' is full

为何EIA和大行情时别人赚爆你却爆仓?

1055 The World's Richest (25分)