我在计算引擎 gcloud 上有一个 vm 实例,但 mysqld 服务器(mariadb)没有连接,错误:正在等待某人释放一些空间......(errno: 28 “设备上没有剩余空间“)。 这是日志文件:mysqld 日志文件
我有 10 GB 的磁盘空间;
mysqld db大小为:261M;
我通过 vm instance ssh 运行这些命令来检查:
$df-h / jet / var / mysqld
文件系统大小已使用可用使用率%安装于
/dev/sda1 9.8G 9.3G 0 100% /
$ sudo fdisk -l /dev/sda1
磁盘 /dev/sda1: 10 GiB,
10735321088 字节,20967424 个扇区 单位:
1 * 512 = 512 字节的扇区
扇区大小(逻辑/物理):512 字节 / 4096 字节
强文本 I/O 大小(最小/最佳):4096 字节 / 4096 字节
$ df
文件系统 1K 块已使用可用使用率% 已安装于
udev 859516 0 859516 0%/dev
tmpfs 174132 6144 167988 4% /运行
/dev/sda1 10253588 9713292 0 100% /
tmpfs 870656 0 870656 0%/ dev / shm
tmpfs 5120 0 5120 0%/运行/锁定
tmpfs 870656 0 870656 0%/sys/fs/cgroup
tmpfs 174128 0 174128 0%/运行/用户/1000
$ sudo du -sh /jet/prs/mysqld/data
261M /jet/prs/mysqld/数据
我不知道是什么导致了这个问题。
答案1
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 10253588 9713292 0 100% /
您的根分区已满。这将停止主机上的一切。
运行数据库服务器不仅与数据的大小有关,还与支持它的所有内容有关:备份、日志文件、事务历史记录、索引等。当 /(根)填满时,通常是因为日志文件失控了。
- 检查 /var/log 以查看其中是否有可以删除的内容来释放空间。
- 确保所有日志都已轮换以自动删除旧文件。
- 确保 10GB 真的足够。看起来这是你唯一真正的分区:有足够的空间容纳操作系统、数据库软件、数据文件、日志文件等吗?最佳做法是将与数据库相关的内容放入单独的分区,可能还有 /var/log,这样如果出现问题做不受控制地生长,无法填满根部。