linux环境下 xampp mysql 启动失败问题排查 日志文件过大占用存储空间导致网站瘫痪

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 问题现象网站莫名其妙的连接不上mysql了,导致网站瘫痪;没有改任何程序,怎么回事呢?马上用xshell 和xftp工具连接linux服务器来排查问题启动xampp mysql/opt/lampp/lampp startmysql 启动xampp mysql![/opt/lampp/bin/mysql.

问题现象

网站莫名其妙的连接不上mysql了,导致网站瘫痪;没有改任何程序,怎么回事呢?马上用xshell 和xftp工具连接linux服务器来排查问题

启动xampp mysql

/opt/lampp/lampp startmysql     启动xampp mysql

![/opt/lampp/bin/mysql.server: line 260: kill: (11145) - No such process
](https://upload-images.jianshu.io/upload_images/1131704-03dc9e8a94e39b93.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

执行mysql start命令

mysql start     //进入bin目录,执行mysql start命令

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/opt/lampp/var/mysql/mysql.sock' (2 "No such file or directory")

问题分析:

  • xampp程序以及配置文件都没有任何改动,前几天,网站还正常运行,今天就莫名其妙的显示mysql无法正常连接。初步判断不是程序的问题。
  • 所以第一步开始去排查服务器的系统盘占用情况
df -l          --执行命令,查看系统盘空间占用情况


结果发现:系统盘被占用了100%

在根目录执行命令:

du -s -h ./*                         --看下具体子目录占用大小情况

经过一层一层排查,知道了是Tomcat日志文件过大导致的。
具体过大文件在:/usr/java/tomcat/apache-tomcat-8.5.30/logs 路径下面。
先关闭Tomcat进程,然后删除日志文件。因为被进程占用的话,即使删除了日志文件,以后会显示系统盘被占用100%

再次执行命令

df -l   或者  df -lh   

image.png

经过上面的步骤,继续启动xmapp mysql发现,依然没用,怎么回事?
这次要拿出杀手锏来了,分析mysql启动日志

启动日志路径在:
/opt/lampp/var/mysql

image.png

利用Notepad ++打开改文件,或者利用linux自带的vim打开。

日志文件:

2018-12-24 10:50:50 10085 mysqld_safe Starting mysqld daemon with databases from /opt/lampp/var/mysql
2018-12-24 10:50:50 140491172915008 [Note] InnoDB: innodb_empty_free_list_algorithm has been changed to legacy because of small buffer pool size. In order to use backoff, increase buffer pool at least up to 20MB.

2018-12-24 10:50:50 140491172915008 [Note] Using unique option prefix 'key_buffer' is error-prone and can break in the future. Please use the full name 'key_buffer_size' instead.
2018-12-24 10:50:50 140491172915008 [Note] /opt/lampp/sbin/mysqld (mysqld 10.1.37-MariaDB) starting as process 10231 ...
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: The InnoDB memory heap is disabled
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Compressed tables use zlib 1.2.11
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Using SSE crc32 instructions
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Completed initialization of buffer pool
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Highest supported file format is Barracuda.
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: 128 rollback segment(s) are active.
2018-12-24 10:50:51 140491172915008 [Note] InnoDB: Waiting for purge to start
2018-12-24 10:50:51 140491172915008 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.41-84.1 started; log sequence number 17666815
2018-12-24 10:50:51 140491172915008 [Note] Plugin 'FEEDBACK' is disabled.
2018-12-24 10:50:51 140491172915008 [Note] Recovering after a crash using tc.log
2018-12-24 10:50:51 140491172915008 [ERROR] Can't init tc log
2018-12-24 10:50:51 140491172915008 [ERROR] Aborting

2018-12-24 10:50:53 10085 mysqld_safe mysqld from pid file /opt/lampp/var/mysql/izuf655vwf6dndsynw1j3mz.pid ended

问题关键出来了: Can't init tc log

在目录下/opt/lampp/var/mysql 找到 这个文件,删除即可!

然后重启xammp mysql 启动正常

/opt/lampp/lampp startmysql

总结

第一步:清楚linux服务器上的无用的日志文件,这里主要是tomcat日志文件产生的,因为我的服务器同时部署了xampp以及tomcat
第二步:分析mysql错误日志文件,然后针对性的对错误进行解决。但是问题的根本原因是因为系统盘被tomcat日志文件占用导致,所以部署tomcat程序的时候,要特别注意限制日志文件的输入,控制其大小,否则会导致系统盘被占满,网站不可用。

参考文献:

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
3月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
436 11
|
5月前
|
存储 监控 Linux
Linux环境锁定关键文件防止误删操作流程。
总结以上内容,在Linux环境下锁定重要文档避免误删涉及到多种技术手段与策略组合运作, 包括但不限于利用chatter指挥官固化文档状态至只读模式、运作ACL精准调整访问权利列表、编排自动化流程简
211 20
|
5月前
|
Linux
Linux环境下的UDEV机制及其与守护进程的关联
实际使用时管理员需要熟悉编写合适udev rules去满足特殊需求;同时也需要注意避免编写过度复杂导致无法预料结果rules.UDEVD虽然稳健但错误配置可能导致无法预料问题因此需谨慎处理相关配置工作.
213 16
|
5月前
|
存储 Linux
Linux环境下删除大文件后磁盘空间未释放问题诊断流程。
以上诊断流程涉及Linux底层机制与高级管理技能结合之处,并需要管理员根据实际环境灵活调整诊断策略与解决方案。
418 8
|
5月前
|
Ubuntu 安全 Linux
Ubuntu 24.10 发行版登场:Linux 6.11 内核、GNOME 47 桌面环境
Ubuntu 24.10 还带来了 GNOME 47,增强了性能和稳定性,并引入了新功能。此版本的 Ubuntu 还默认在采用 Nvidia 显卡的硬件上切换到 Wayland,并在支持的硬件上默认使用开源的 Nvidia 560 内核模块。 另外需要注意的是,Ubuntu 24.10 是稳定版本,但作为非 LTS 版本,仅支持 9 个月。
|
5月前
|
安全 Linux 网络安全
Linux系统初步设置本地Git环境和生成SSH密钥的步骤。
现在您的Linux系统已经配置好了Git环境,并创建并添加了SSH密钥,可以安全地与远端仓库进行交互,无论是克隆、推送还是拉取操作。此过程确保了数据传输的安全并使版本控制流程更为顺畅。使用Git时应考虑定期更新并管理您的凭据,以确保安全性。
722 0
|
4月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
187 3
|
4月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
4月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。
911 152