服务器故障排查方法总结

问题描述

每当出现网站访问不了的时候,估计应该就是服务器出现故障了,这个时候大部分情况都是属于数据库出现问题。

查找步骤:

1、查找top检查服务器负载是否有问题

一般网站访问不了,top显示的负载都是很大的,这个时候可以看到mysql的进程占用资源很高,往往就是mysql发生故障了

2、在服务器中查看网站的访问记录

这些访问记录存储在:/home/对应的网站名/access-logs/对应的网站名

可以先通过tail查看,查看出异常的ip的时候可以通过grep进行过滤查看,在这个文件一般都可以找到恶意爬虫、恶意访问的记录,这些往往有可能是导致mysql数据库挂掉的原因。

3、这个时候先对数据库进行重启,对apache进行重启

service mysql restart

service httpd restart

重启之后一般都可以暂时恢复正常的访问的了。如果是出于恶意访问的话,找出恶意访问的ip把它禁止掉即可,如果是网站数据库出现故障,那么还要进行数据库排查。

4、查找数据库错误日志

首先需要知道数据库mysql的安装目录,可以通过whereis mysql找到,但是这往往没用

还有一种方法,就是通过ps -ef | grep mysql来查看

或者也可以通过进入mysql,使用select @@basedir as basePath from dual来查看mysql安装目录

我们在第二种查找方法ps -ef | grep mysql中对应mysql的几种日志找到其所在目录,然后查看对应文件进行分析

mysql有以下几种日志

错误日志:-log-err

查询日志:-log

慢查询日志:-log-slow-queries

更新日志:-log-update

二进制日志:-log-bin

如下便是对应的数据库错误日志和慢查询日志的查看方法了

下面附加一篇关于mysql慢查询日志的说明

随着数据量的不断增长,性能尤为重要,或许经过优化及好的解决方案,使你当前感觉不到性能问题的存在,但随着数据量的不断增长,

从百万到千万再到几亿,可能问题会随之而来,为了能更好的掌握数据库的运行效率,添加慢日志查询是很有必要的。

查看日志相关信息:

参数如下:

-slow_launch_time
如果创建线程的时间超过该秒数,服务器增加Slow_launch_threads状态变量。


-slow_query_log
是否记录慢查询。用long_query_time变量的值来确定“慢查询”。


-slow_query_log_file
慢日志文件路径


-long_query_time
慢日志执行时长(秒),超过设定的时间才会记日志

日志配制:修改my.ini文件为以下内容

#开启慢日志 1:开启 0:关闭
slow_query_log=1

#设置日志时长 单位(秒)
long_query_time = 2

 

测试慢日志记录信息:

- 查询总记录数

- collegets-slow.log日志信息(文件默认存放在datadir目录下)

C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld, Version: 5.5.23-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument
C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld, Version: 5.5.23-log (MySQL Community Server (GPL)). started with:
TCP Port: 3306, Named Pipe: (null)
Time Id Command Argument
#Time: 121205 16:09:31
#User@Host: root[root] @ [192.168.17.105]
#Query_time: 2.171875 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 2381725
SET timestamp=1354694971;
SELECT COUNT(*)
FROM usersession;

转载原文出处链接和本声明。
本文链接:https://blog.csdn.net/wjtlht928/article/details/47661265

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值