美文网首页
记录一次数据爆仓——The table 'XXX'

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

作者: RabbitMask | 来源:发表于2018-10-23 17:41 被阅读18次

    操作环境: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的小伙伴们和狗管理们

    吐槽:

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

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

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

    相关文章

      网友评论

          本文标题:记录一次数据爆仓——The table 'XXX'

          本文链接:https://www.haomeiwen.com/subject/nyiazftx.html