操作環境:Centos 問 題:The table 'XXX' is full !!! 當碰到此資料庫報錯提示的時候,,, 我,,,有點懵,,, 登錄伺服器查看,,發現 我了個去,,我絕不承認這個伺服器是我搭的,,(手動滑稽X2) MySQL資料庫的位置放到了分區/dev/mapper/centos ...
操作環境: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,喜歡二次元,期待認識大家。
才不是什麼蘿莉控,只是喜歡的女孩紙碰巧是蘿莉罷了,哼~