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

简介: 问题现象 网站莫名其妙的连接不上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程序的时候,要特别注意限制日志文件的输入,控制其大小,否则会导致系统盘被占满,网站不可用。

参考文献:

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
9月前
|
关系型数据库 MySQL Linux
linux系统mysql服务启动失败
linux系统mysql服务启动失败
linux系统mysql服务启动失败
|
9月前
|
Kubernetes Linux Docker
【kubernetes】修复 linux 服务器重启后,kubelet 启动失败的问题
【kubernetes】修复 linux 服务器重启后,kubelet 启动失败的问题
1445 1
|
Linux
关于ZooKeeper在Linux端启动失败的问题解决方案
关于ZooKeeper在Linux端启动失败的问题解决方案
240 0
关于ZooKeeper在Linux端启动失败的问题解决方案
|
Oracle 关系型数据库 Linux
linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
386 0
linux下oracle数据库由于参数文件丢失导致的数据库服务启动失败,报“failure in processing system parameters“错误问题解决
|
Web App开发 关系型数据库 Linux
Linux上安装xampp来搭建WordPress网站(图文教程)
建站准备 建站流程 建站机制,建站专有名词解释和建站流程以及一些建站注意事项可以参考以下文章: 如何从零开始拥有自己的网站? 新手建站十大必知忠告 超详细新手建站指南以及预算成本估计 注册域名 我是在阿里云万网上注册的域名:注册域名详情地址 。
5862 1
|
关系型数据库 MySQL Linux
linux+xampp搭建WordPress个人网站过程详解
阿里云的最新优惠活动都在这里了 使用阿里云的用户越来越多了,因为阿里云在国内是众多站长和企业的首选上云服务提供商。 所以有不少新手会问?阿里云云产品有没有优惠?因为价格也是影响我使用阿里云的一大影响因素。
2566 0
【云吞铺子之专家来了】linux系统启停问题之如何解决因为分区丢失导致的系统启动失败问题
《专家来了》第四季第3期重磅上线!我们继续跟随阿里云高级技术专家直寻学习如何排查、诊断和解决Linux系统问题,本期主题【如何解决因为分区丢失导致的系统启动失败问题】,技术干货不可错过哦!
【云吞铺子之专家来了】如何解决因为Grub损坏导致linux系统启动失败的问题
《专家来了》第四季重磅发布!本季我们邀请了阿里云高级技术专家直寻分享其在排查诊断和解决Linux系统问题的实战经验。首期主题【如何解决因为Grub损坏导致linux系统启动失败的问题】,技术干货不可错过哦!
|
关系型数据库 MySQL Linux
Linux+XAMPP+eolinker开源版v3.2.4
eolinker是一个由国人开源的接口管理系统(AMS),特性及介绍详见开源中国-eolinker首页. 搭建步骤参考:eolinker开源指南 系统环境:CentOS Linux release 7.
1836 0
推荐文章
更多