针对服务器磁盘爆满,MySql数据库始终无法启动,怎么解决

5dfc140498d3d6f2bab2a5e604775fbd.jpeg

(点击即可进入聊天助手)

很多站长在运营网站的过程当中都会遇到一个问题,就是网站突然无法打开,数据一直无法启动

无论是强制重启还是,删除网站内的所有应用,数据库一直无法启动

这个时候,就需要常见的运维手段了,需要对服务器后台各个资源,进行逐一排查

如果一看到磁盘容量拉满,也并不是网络带宽问题,盲目的去花钱升级硬盘容量,这是不可取的,也是个无底洞,找到具体的问题,给解决才是上上之策

042da4609bb72d6681f990ff9c5308f4.png

解决Linux服务器上MySQL数据库无法启动的问题

  1. 查看数据库错误日志

sudo less /var/log/mysql/error.log
  1. 检查MySQL服务状态:

使用systemctl检查MySQL服务的状态,以确定是否有错误信息

sudo systemctl status mysql.service
  1. 检查配置文件

确保/etc/my.cnf或/etc/mysql/my.cnf(路径可能因发行版而异)配置文件中没有错误

  1. 检查磁盘空间(很多时候就是这个原因)

确保服务器上有足够的磁盘空间,先使用df -h 查看磁盘容量,然后再使用du -sh *,查看文件大小,找到文件异常大的,然后使用rm -rf 文件名,删除掉腾出资源空间

df -h
  1. 检查权限问题:

确保MySQL相关目录和文件的权限设置正确。

  1. 检查端口占用:

确保MySQL默认端口3306没有被其他进程占用

sudo netstat -tulnp | grep 3306
  1. 尝试安全模式启动:

如果常规启动失败,可以尝试以安全模式启动MySQL

sudo mysqld_safe &
  1. 修复安装:

如果怀疑数据库损坏,可以尝试使用MySQL的修复工具

sudo mysql_upgrade -u root -p
  1. 重新配置/初始化:

如果以上方法都不能解决问题,可能需要重新配置或初始化数据库

sudo mysqld --initialize
sudo systemctl start mysql.service

linux服务器MySql数据库始终无法启动    解决Linux服务器上MySQL数据库无法启动的问题,通常需要检查以下几个方面:

查看错误日志:

使用grep命令查看MySQL的错误日志,通常位于/var/log/mysql/error.log。

sudo grep 'temporary' /var/log/mysql/error.log

检查MySQL服务状态:

使用systemctl检查MySQL服务的状态,以确定是否有错误信息。

sudo systemctl status mysql.service

检查配置文件:

确保/etc/my.cnf或/etc/mysql/my.cnf(路径可能因发行版而异)配置文件中没有错误。

检查磁盘空间:

确保服务器上有足够的磁盘空间。

df -h

检查权限问题:

确保MySQL相关目录和文件的权限设置正确。

检查端口占用:

确保MySQL默认端口3306没有被其他进程占用。

sudo netstat -tulnp | grep 3306

尝试安全模式启动:

如果常规启动失败,可以尝试以安全模式启动MySQL。

sudo mysqld_safe &

修复安装:

如果怀疑数据库损坏,可以尝试使用MySQL的修复工具。

sudo mysql_upgrade -u root -p

重新配置/初始化:

如果以上方法都不能解决问题,可能需要重新配置或初始化数据库。

sudo mysqld --initialize sudo systemctl start mysql.service
  1. 查看系统日志:

查看系统日志,如/var/log/syslog或使用journalctl,以获取可能导致MySQL启动失败的更多信息。

sudo journalctl -u mysql.service

下面介绍一个,磁盘空间爆满,即使删除服务器内的所有应用,数据库依旧无法启动

进入服务器根目录查看磁盘容量

远程登陆服务器,进入服务器根目录

cd /

使用df -h, 命令查看服务器下资源各个磁盘的容量情况

如果你发现某个文件目录下,占用磁盘空间特别大,那就是这个磁盘该清理了的

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           593M  972K  592M   1% /run
/dev/vda2       118G   117G   99G  98% /
tmpfs           2.9G  8.0K  2.9G   1% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           593M  4.0K  593M   1% /run/user/0

此刻,说明/dev/vda2的资源已经满了,导致数据库无法启动的根本原因就在这里

所以需要删除一些占用硬盘资源大的东西

使用"du -sh *"查看当前目录下每一个的目录和文件的大小汇总

0       bin
242M    boot
8.0K    dev
21M     etc
184M    home
0       lib
0       lib32
0       lib64
0       libx32
16K     lost+found
4.0K    media
4.0K    mnt
4.0K    opt
8.0K    patch
du: cannot access 'proc/25809/task/25809/fd/4': No such file or directory
du: cannot access 'proc/25809/task/25809/fdinfo/4': No such file or directory
du: cannot access 'proc/25809/fd/3': No such file or directory
du: cannot access 'proc/25809/fdinfo/3': No such file or directory
0       proc
30M     root
976K    run
0       sbin
1.3G    snap
4.0K    srv
0       sys
1.3M    tmp
3.9G    usr
5.1G    var
4.1G    www

然后你看哪个文件占用内存特别大,然后就进入哪个目录去删掉的

一般来说,几个G的,不算太大,但是某个目录文件超过硬盘的90%,那这个目录肯定需要腾出资源来

比如:我的是,www这个目录,之前是占用了110多个G,这个目录主要是存放服务器一些资源的

进入哪个目录,就用du -sh *,这个命令查看各个文件的大小

进入/www/server/,发现是php某个版本占用硬盘资源非常大,发现php版本,70占用硬盘空间达到100多个G,把它删掉就可以了的

使用命令rm -rf 70,删除,然后重启服务器就可以了的

你只要看哪个目录占用空间非常大,继续使用cd命令进入相应的目录,继续使用du命令进行查看,然后删除一下没用的文件,或者把它挂载到其他分区

总结

服务器内,不要随意的去安装各种php版本,它是非常占用磁盘空间的,有些应用程序非常吃硬盘,网站每运行一分钟,不仅会产生日志,缓存,还有可能会产生一些其他的文件,时间一久就会影响磁盘,如果积累到一定程度,就会影响服务器的运行速度

选择合适的php版本,因网站程序而异,不可千篇一律,得适配程序的,不可胡乱安装的,否则会导致一些奇怪的问题,严重会影响业务

富爸爸情商课

2025-01-10

f4fe517968ebfe3b55f61a8ca0d9c674.jpeg

理解人性

2025-01-09

30e35ab3aec88a6dfb91ddae5eff14ee.jpeg

金钱的艺术

2025-01-08

3bf1948e89dd5050eb5c55e9b3ff8497.jpeg

a4d3221e870b6765c090373528afeb95.png

点击左下角查看更多

bcf12740fed791f3486b091a9bf0a047.gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/65903.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高性能现代PHP全栈框架 Spiral

概述 Spiral Framework 诞生于现实世界的软件开发项目是一个现代 PHP 框架,旨在为更快、更清洁、更卓越的软件开发提供动力。 特性 高性能 由于其设计以及复杂精密的应用服务器,Spiral Framework框架在不影响代码质量以及与常用库的兼容性的情况下&a…

【面试题】Spring/SpringBoot部分[2025/1/6 ~ 2025/1/12]

Spring/SpringBoot部分[2025/1/6 ~ 2025/1/12] 1. 说说 Spring 启动过程?2. 说说 Springboot 的启动流程?3. 你了解的 Spring 都用到哪些设计模式?4. Spring 有哪几种事务传播行为?5. SpringBoot 是如何实现自动配置的?6. Spring…

【机器学习:十八、更高级的神经网络概念】

1. 梯度下降法的改进:Adam算法 1.1 Adam算法简介 Adam(Adaptive Moment Estimation)是一种优化算法,结合了动量梯度下降和 RMSProp 的优点,在处理稀疏梯度和高维空间优化时表现尤为出色。其核心在于动态调整每个参数…

计算机网络之---VPN与隧道协议

VPN与隧道协议 VPN(虚拟专用网络)和隧道协议是现代网络安全技术的重要组成部分,它们主要用于在不安全的公共网络(如互联网)上建立一个安全的私密网络连接。VPN通过加密通信和认证机制,确保数据的隐私性和完…

【STM32-学习笔记-6-】DMA

文章目录 DMAⅠ、DMA框图Ⅱ、DMA基本结构Ⅲ、不同外设的DMA请求Ⅳ、DMA函数Ⅴ、DMA_InitTypeDef结构体参数①、DMA_PeripheralBaseAddr②、DMA_PeripheralDataSize③、DMA_PeripheralInc④、DMA_MemoryBaseAddr⑤、DMA_MemoryDataSize⑥、DMA_MemoryInc⑦、DMA_DIR⑧、DMA_Buff…

SQL Server中可以通过扩展事件来自动抓取阻塞

在SQL Server中可以通过扩展事件来自动抓取阻塞,以下是详细流程: 开启阻塞跟踪配置: • 执行以下SQL语句来启用相关配置: EXEC sp_configureshow advanced options, 1; RECONFIGURE; EXEC sp_configure blocked process thresh…

DNS解析域名简记

域名通常是由: 权威域名.顶级域名.根域名组成的。 从左往右,级别依次升高,这和外国人从小范围到大范围的说话习惯相关。(我们自己是更习惯先说大范围再说小范围,如XX省XX市XX区XX路) DNS解析域名时,会先查…

【爬虫】单个网站链接爬取文献数据:标题、摘要、作者等信息

源码链接: https://github.com/Niceeggplant/Single—Site-Crawler.git 一、项目概述 从指定网页中提取文章关键信息的工具。通过输入文章的 URL,程序将自动抓取网页内容 二、技术选型与原理 requests 库:这是 Python 中用于发送 HTTP 请求…

关于扫描模型 拓扑 和 传递贴图工作流笔记

关于MAYA拓扑和传递贴图的操作笔记 一、拓扑低模: 1、拓扑工作区位置: 1、准备出 目标 高模。 (高模的状态如上 ↑ )。 2、打开顶点吸附,和建模工具区,选择四边形绘制. 2、拓扑快捷键使…

解决无法远程管理Windows Server服务器核心安装

问题 有时,人们会为了节省运算资源,例如运行Hyper-V虚拟机,而选择Windows Server核心安装,即无图形化界面。这时,我们就只能通过Powershell命令对其进行操控,或为了获得图形化界面而使用远程服务器管理工具…

SQL HAVING 子句深入解析

SQL HAVING 子句深入解析 介绍 SQL(Structured Query Language)是一种用于管理关系数据库管理系统的标准编程语言。在SQL中,HAVING子句是与GROUP BY子句一起使用的,用于筛选分组后的数据。它根据聚合函数的结果对组进行条件过滤…

【计算机网络】lab7 TCP协议

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀计算机网络_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 实验目的…

JavaRestClient 客户端初始化+索引库操作

1. 介绍 ES官方提供了各种不同语言的客户端,用来操作ES。这些客户端的本质就是组装DSL语句,通过http请求发送给ES。 Elasticsearch目前最新版本是8.0,其java客户端有很大变化。不过大多数企业使用的还是8以下版本 2. 客户端初始化 在elastic…

【JVM-2.2】使用JConsole监控和管理Java应用程序:从入门到精通

在Java应用程序的开发和运维过程中,监控和管理应用程序的性能和资源使用情况是非常重要的。JConsole是Java Development Kit(JDK)自带的一款图形化监控工具,它可以帮助开发者实时监控Java应用程序的内存、线程、类加载以及垃圾回收…

基于html5实现音乐录音播放动画源码

源码介绍 基于html5实现音乐录音播放动画源码是一款类似Shazam的UI,点击按钮后,会变成为一个监听按钮。旁边会有音符飞入这个监听按钮,最后转换成一个音乐播放器。 效果预览 源码获取 基于html5实现音乐录音播放动画源码

《自动驾驶与机器人中的SLAM技术》ch1:自动驾驶

目录 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 1.1 自动驾驶技术 1.2 自动驾驶中的定位与地图 L2 在技术实现上会更倾向于实时感知,乃至可以使用感知结果直接构建鸟瞰图(bird eye view, BEV),而 L4 则依赖离线地图。 高精地…

抖音矩阵是什么

抖音矩阵是指在同一品牌或个人IP下,通过创建多个不同定位的抖音账号(如主号、副号、子号等),形成一个有机的整体,以实现多维度、多层次的内容覆盖和用户互动。以下是关于抖音矩阵的详细介绍: 抖音矩阵的类…

【开发日记】Docker修改国内镜像源

1、问题: docker pull镜像时提示以下内容: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)2、解决 ①…

Centos7 解决Maven scope=system依赖jar包没有打包到启动jar包中的问题(OpenCV-4.10)

最近项目中遇到问题,OpenCV的Jar包在程序打包后,找不到相关的类,比如MAT,这个时候怀疑OpenCV_4.10的Jar没有和应用程序一起打包,后面排查到确实是没有打包进去,特此记录,便于日后查阅。 <!-- 加载lib目录下的opencv包 --> <dependency><groupId>org…

【后端面试总结】Golang可能的内存泄漏场景及应对策略

Golang可能的内存泄漏场景及应对策略 一、引言 Golang作为一种高性能、并发友好的编程语言&#xff0c;其内置的垃圾回收机制极大地简化了内存管理。然而&#xff0c;这并不意味着开发者可以完全忽视内存泄漏问题。在实际开发中&#xff0c;由于不当的资源管理、循环引用、以…