磁盘满了,MySQL 无法启动

最近此站点没法访问了,cloudflare 提示连接我的服务器出错,我也不知道原因是什么,二话不说,先把服务器重启。再刷新网站,提示没法连接数据库。我就再重启 MySQL:

systemctl start mysqld

结果重启失败,报出如下的错误:

Starting mysqld (via systemctl):  Job for mysqld.service failed because the control process exited with an error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.

我的服务器只花了 10 美元,要运行 WordPress 程序,下意识觉得磁盘空间不够,因为才 10g 的空间,如何查看磁盘的占用情况呢?运行如下指令:

df -h

可以看到磁盘的占用空间达到了 94%,10g 这么快就用完了。

Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        219M     0  219M   0% /dev
tmpfs           234M     0  234M   0% /dev/shm
tmpfs           234M   13M  222M   6% /run
tmpfs           234M     0  234M   0% /sys/fs/cgroup
/dev/vda1       9.4G  8.3G  604M  94% /
tmpfs            47M     0   47M   0% /run/user/1002

那如何检测出哪个文件占用的大,将其删除释放空间出来呢?运行如下指令:

# du -sh *
0       bin
231M    boot
1.2G    data
0       dev
23M     etc
28K     home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
4.0K    opt
0       proc
1.5G    root
13M     run
0       sbin
4.0K    srv
0       sys
44K     tmp
4.9G    usr
493M    var

可以看到 usr 目录下占用了 5g,将近一半的空间。进入文件夹,删掉大文件,重启 mysqld 服务就搞定了。

作者: 曾小乱

喜欢写点有意思的东西

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据