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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 今天查看两个月前上线的小项目,发现运行非常慢,而且增删改查失效了(吓我一大跳),急急忙忙的就开始了我的线上问题排查之路。/dev/vda1是 Linux 系统中的一个设备文件,它表示第一个虚拟磁盘(vda)的第一个分区(1)。在大多数 Linux 发行版中,这是系统根分区的默认位置。如果您要对/dev/vda1进行操作(例如挂载、格式化、备份等),则需要具有足够的权限。一般来说,只有 root 用户或具有 sudo 权限的用户才能进行这些操作。当Linux的/dev/vda1。

 其他系列文章导航

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 。

    如图所示:

    image.gif编辑

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

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

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

    lsof -n | grep -i delete

    image.gif

    如图所示:

    image.gif编辑

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

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


    三、总结

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

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

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

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

      相关实践学习
      基于CentOS快速搭建LAMP环境
      本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
      全面了解阿里云能为你做什么
      阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
      目录
      相关文章
      |
      18天前
      |
      关系型数据库 MySQL Linux
      linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
      linux CentOS 7.4下 mysql5.7.20 密码改简单的方法
      22 0
      |
      21小时前
      |
      Linux Go 数据安全/隐私保护
      Linux 中的文件属性解析
      在 Linux 系统中,每个文件和目录有一组属性控制其操作和访问权限。了解这些属性对有效管理文件至关重要。文件属性包括:文件类型(如 `-` 表示普通文件,`d` 表示目录),权限(如 `rwx` 表示所有者权限,`r-x` 表示组和其他用户权限),所有者,组,硬链接数,文件大小和最后修改时间。通过 `chown` 和 `chmod` 命令可更改文件所有者、所属组及权限。此外,还有特殊权限(如 SUID、SGID)和 ACL(访问控制列表)提供更精细的访问控制。
      |
      2天前
      |
      关系型数据库 MySQL Java
      Linux 安装 JDK、MySQL、Tomcat(图文并茂)
      Linux 安装 JDK、MySQL、Tomcat(图文并茂)
      15 2
      |
      2天前
      |
      人工智能 Linux
      Linux查找大文件的方法
      Linux查找大文件的方法
      |
      4天前
      |
      固态存储 Ubuntu Linux
      Linux(29) 多线程快速解压缩|删除|监视大型文件
      Linux(29) 多线程快速解压缩|删除|监视大型文件
      11 1
      |
      4天前
      |
      Ubuntu Linux 数据安全/隐私保护
      Linux(24) 如何在Ubuntu中操作rootfs.img文件
      Linux(24) 如何在Ubuntu中操作rootfs.img文件
      9 0
      |
      9天前
      |
      安全 Linux 开发工具
      Linux中可引起文件时间戳改变的相关命令
      【4月更文挑战第12天】Linux中可引起文件时间戳改变的相关命令
      18 0
      |
      10天前
      |
      存储 关系型数据库 MySQL
      Linux | MySQL基础
      Linux | MySQL基础
      |
      10天前
      |
      关系型数据库 MySQL Linux
      Linux联网安装MySQL Server
      Linux联网安装MySQL Server
      22 0
      |
      10天前
      |
      Linux Shell 开发工具
      Linux文件常用操作
      Linux文件常用操作(几乎覆盖所有日常使用)
      84 0