Linux的dev/vda1文件满了导致MySQL无法写入

其他系列文章导航

Java基础合集
数据结构与算法合集

设计模式合集

多线程合集

分布式合集

ES合集


文章目录

其他系列文章导航

文章目录

前言

一、dev/vda1文件介绍

二、排查过程

三、总结


前言

今天查看两个月前上线的小项目,发现运行非常慢,而且增删改查失效了(吓我一大跳),急急忙忙的就开始了我的线上问题排查之路。


一、dev/vda1文件介绍

/dev/vda1 是 Linux 系统中的一个设备文件,它表示第一个虚拟磁盘(vda)的第一个分区(1)。在大多数 Linux 发行版中,这是系统根分区的默认位置。

如果您要对 /dev/vda1 进行操作(例如挂载、格式化、备份等),则需要具有足够的权限。一般来说,只有 root 用户或具有 sudo 权限的用户才能进行这些操作。


二、排查过程

1.通过监控我发现了我的 /dev/vda1 挂载的/目录的内存已经满了,我的第一反应就是运行日志太大了,我通过以下命令来确定:

  • 先查看内存使用情况:df -h
  • 进入/dev/vdal的磁盘挂载的目录 /:cd /
  • 查看各个文件占用大小:du -sh *

2.最后发现 www 文件占 34G ,我天,然后我进入 www 文件,发现了日志文件高达 33G 之多。

3.我快马加鞭直接清空了两个日志文件,www 文件的占用内存也恢复到了下图所示 7.7G 。

如图所示:

4.但是相信你们也发现了,dev/vda1 文件还是 use 100%,我的天啥情况啊这是,然后开始了我漫漫寻找方法之路。

5.10000年后,终于我发现了,删掉较大的文件或目录后磁盘空间却没有释放出来的原因是因为已删除空间却没有释放的进程

查询一下查看已删除空间却没有释放的进程 id 然后 kill 掉:

bash 复制代码
lsof -n | grep -i delete

如图所示:

小彩蛋:杀进程的时候把 nignx 也杀了,哈哈哈哈,又查了一会,笑cry

到此我的线上排查之路为止,也是第一次遇到,记录一下心得!


三、总结

当Linux的/dev/vda1文件满时,会导致MySQL无法写入数据,这是因为MySQL需要足够的磁盘空间来存储数据。当磁盘空间不足时,MySQL无法将新的数据写入磁盘,从而引发了写入错误。

这个问题的解决方法是释放一些磁盘空间,可以通过以下几种方式来实现:

  1. 清理MySQL的日志文件:MySQL会产生大量的日志文件,其中包括错误日志、查询日志和慢查询日志等。可以查看这些日志文件并删除其中的一些不必要的内容,以释放磁盘空间。
  2. 清理临时文件:在MySQL运行过程中,会产生大量的临时文件。这些临时文件可能会占用大量的磁盘空间,可以定期清理这些文件以释放空间。
  3. 增加磁盘容量:如果经常出现磁盘空间不足的问题,可以考虑增加磁盘容量,以提供更多的存储空间。
  4. 优化数据库:可以对MySQL数据库进行优化,以减少磁盘空间的占用。例如,可以清理不必要的表、索引和数据,优化数据库的结构等。

总之,当Linux的/dev/vda1文件满时,会导致MySQL无法写入数据。解决这个问题的方法是释放一些磁盘空间,可以通过清理日志文件、清理临时文件、增加磁盘容量和优化数据库等方式来实现。


相关推荐
愚润求学9 分钟前
【Linux】动静态库链接原理
linux·运维·服务器·开发语言·笔记
想躺平的小农16 分钟前
EasyExcel详解
java
慧一居士17 分钟前
EasyExcel集成使用总结与完整示例
java·excel
GISer_Jing17 分钟前
前端图形渲染 html+css、canvas、svg和webgl绘制详解,各个应用场景及其区别
前端·html·图形渲染
呦呦彬17 分钟前
【问题排查】easyexcel日志打印Empty row!
java·开发语言·log4j
零凌林19 分钟前
使用exceljs将excel文件转化为html预览最佳实践(完整源码)
前端·html·excel·vue3·最佳实践·文件预览·exceljs
二十雨辰26 分钟前
[CSS3]属性增强1
前端·css·css3
Tummer836327 分钟前
C#+WPF+prism+materialdesign创建工具主界面框架
开发语言·c#·wpf
九章云极AladdinEdu34 分钟前
GPU与NPU异构计算任务划分算法研究:基于强化学习的Transformer负载均衡实践
java·开发语言·人工智能·深度学习·测试工具·负载均衡·transformer
佩奇的技术笔记37 分钟前
Java学习手册:客户端负载均衡
java·负载均衡