网站建设资讯

NEWS

网站建设资讯

MySQL怎么错误排查 mysql故障排查

MySQL 问题排查都有哪些手段?

可以使用 show processlist 命令查看当前所有连接信息。

网站制作、成都网站制作介绍好的网站是理念、设计和技术的结合。成都创新互联公司拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。

使用 explain 命令查询 SQL 语句执行计划。

开启慢查询日志,查看慢查询的 SQL。

mysql之慢sql问题排查

0、首先排除机器问题,如cpu、内存情况

1、根据日志找到sql语句,从两点,一是索引、二是语句的写法

2、使用mysql的explain+语句形式,排查是否引用索引,通过key、extra,key表示有没有用到索引,用到的是哪个索引,像like、or等是索引失效的,extra using index表示覆盖索引,usingwhere表示where条件用到了索引,通过explain结果,修改sql语句,该加索引加索引,该修改语句修改语句

3、语句编写上,子查询、关联查询大表小表

4、部署测试

mysql 错误 ERROR: [SQLCODE] 1055 , [SQLSTATE] 42000 排查思路

研发创建了存储过程,需要部署定时任务,在上线前进行检查,执行定时脚本时,出现了如下报错

ERROR: [SQLCODE] 1055 , [SQLSTATE] 42000 , [MESSAGE] Expression #1 of ORDER BY clause is not in GROUP BY

此时查看sql_mode,发现里面没有only_full_group_by,但是执行还会报错,怀疑是链接没断开,当前session没生效,断开重连还是一样的报错

遂查看存储过程 show create procedure dataabase.procname;

发现创建之前的sql_mode有only_full_group_by,为了能正常运行,在当前模式下,删除新建存储过程,即可重新调用,执行成功。

常见服务器故障类型及排查方法总结

四,服务器故障排查方法总结

问题描述:

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

查找步骤:

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怎么错误排查 mysql故障排查
文章路径:http://cdweb.net/article/docicps.html