首页
学习
活动
专区
圈层
工具
发布

MySQL 数据库高负载故障分析

下面的表的程序可以考虑关闭下面的参数 innodb_stats_on_metadata=0 set global innodb_stats_on_metadata=0; 故障分析 注:一般mysql...分析思路: 1、查看mysql的slow.log,看是否出现死锁,及其他报错 2、show processlist; 查看mysql都有哪些连接,判断这些connect是否正常 3、通过使用htop、dstat...tcpdump使用 抓包分析,默认mysql端口为3306 tcpdump -i eth0 -A -s 3000 port 3306 > /tmp/sql.log 引用perl tcpdump -...慢日志,查看哪些sql语句最耗时 pt-query-digest db-slow.log 总结: 有时候不需要全部操作就能找到问题的所在,这次故障中个人是通过show processlist找到不正常的连接...故障分析:后端API服务抛异常,导致一个SELECT频繁去执行,先重启后端API,然后分析报错,找相关人解决。

2.7K100
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    故障分析 | MySQL 数据库升级后,数据库怎么卡住了

    作者:王顺 爱可生 DBA 团队成员,在公司负责项目中处理数据库问题,喜欢学习技术,钻研技术问题。 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。...问题背景: 第一天晚上 MySQL 数据库升级,版本从5.6.22到5.7.32,升级过程很顺利,业务验证正常。 两天后业务人员反馈数据库卡住了,sql 执行下去数据库没反应。...现象: 连上数据库看看发现了什么…… mysql> show processlist; +-------+-------------+---------------------+-------+----...原因分析 根据前面业务人员的描述,升级前直接运行 insert 语句中的查询语句20分钟可以出数据,数据库升级后查询跑不出数据。测试环境升级后并没有验证这两个跑批。...官方文档:https://dev.mysql.com/doc/refman/5.7/en/derived-table-optimization.html 解决方案 是在数据库中关闭这个优化器配置 是改写业务

    4.8K20

    故障分析 | MySQL 5.7 使用临时表导致数据库 Crash

    作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持。爱好看书,电影。座右铭,每一个不曾起舞的日子,都是对生命的辜负。...本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源 目录 背景信息 故障分析 问题复现 测试日志 测试结论 参考链接 背景信息 在 MySQL5.7.30...系统侧: 监控显示该从库主机的内存和CPU资源使用率在故障前后均正常,磁盘IO有2%的iowait(读写200M/s),说明故障前磁盘存在压力。...1个小时,刚好18:27,又恰逢隔离,起身洗锅炸厨房了嗷) 测试结论 此 BUG 可能会出现在 MySQL5.7 版本中 1.测试中验证了数据库参数 innodb_temp_data_file_path...数据库参数: https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Created_tmp_tables

    1.1K10

    故障分析 | MySQL 无监听端口故障排查

    作者:王向爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理。擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。...---前言最近解决了一个比较基础的问题故障,由于排查过程挺有意思,于是就以此为素材写出了本篇文章。故障现场防火墙什么的均正常但是无法被远程访问到。简单的使用客户端登录了一下。...ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)根据以往经验大脑中浮现了几个常见的排查此类故障手法1.排查进程存在...--pid-file=/mysqldata/mysql/data/3308/mysqld.pid --user=mysql --socket=/mysqldata/mysql/data/3308/mysqld.sock...解决方案因为配置 skip-grants-tables 引起无法远程连接 mysql 服务端的故障,解决方法也是非常的简单注释重启。

    1.5K20

    故障分析 | MySQL 无监听端口故障排查

    作者:王向 爱可生 DBA 团队成员,负责公司 DMP 产品的运维和客户 MySQL 问题的处理。擅长数据库故障处理。对数据库技术和 python 有着浓厚的兴趣。...ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111) 根据以往经验大脑中浮现了几个常见的排查此类故障手法 1....解决方案 因为配置 skip-grants-tables 引起无法远程连接 mysql 服务端的故障,解决方法也是非常的简单注释重启。...分析 技术分享 | MySQL 安全 delete 巨大量数据行 ---- 关于SQLE 爱可生开源社区的 SQLE 是一款面向数据库使用者和管理者,支持多场景审核,支持标准化上线流程,原生支持 MySQL...审核且数据库类型可扩展的 SQL 审核工具。

    2.9K30

    故障分析 | MySQL 5.7 使用临时表导致数据库 Crash

    作者:雷文霆 爱可生华东交付服务部 DBA 成员,主要负责Mysql故障处理及相关技术支持。爱好看书,电影。座右铭,每一个不曾起舞的日子,都是对生命的辜负。...目录 背景信息 故障分析 问题复现 测试日志 测试结论 参考链接 背景信息 在 MySQL5.7.30 主从读写分离环境下,从库在某天出现了 MySQL crash....系统侧: 监控显示该从库主机的内存和CPU资源使用率在故障前后均正常,磁盘IO有2%的iowait(读写200M/s),说明故障前磁盘存在压力。...1个小时,刚好18:27,又恰逢隔离,起身洗锅炸厨房了嗷) 测试结论 此 BUG 可能会出现在 MySQL5.7 版本中 1.测试中验证了数据库参数 innodb_temp_data_file_path...数据库参数: https://dev.mysql.com/doc/refman/5.7/en/server-status-variables.html#statvar_Created_tmp_tables

    1.6K30

    故障分析 | 数据库故障 MHA 未切换

    结论 先说下结论,MHA 默认使用长连接对数据库做 ping 健康检测(执行select 1 as Value),4次无法连接 MySQL 则触发切换。...前面数据库 hang 住只是新的连接无法建立,但是老连接却没有影响,且 MHA 的健康检测语句很简单,只在 server 层进行了检测,不涉及到 InnoDB 层,所以 MHA 认为 MySQL 是健康的...支持3个 value : select:使用长连接连接到 MySQL 执行select 1 as Value,这个长连接被重复使用,但检查过于简单,无法发现更多故障。...connect:在每次执行select 1 as Value前后创建和断开连接,可以发现更多 TCP 连接级别的故障。...注意:此种情况,MHA 监控进程会 fork 出一个子进程进行检测 insert:基于一个到 MySQL 已经存在的连接执行 insert 语句,可以更好检测到数据库因磁盘空间耗尽或磁盘 IO 资源耗尽导致的故障

    1.8K11

    数据库故障排查

    数据库故障排查的基本概念 数据库故障排查是指通过系统化的方法识别、分析和解决数据库运行过程中出现的问题。故障可能表现为性能下降、数据丢失、连接失败等。...常见数据库故障类型 性能问题:查询速度慢、资源占用高。 连接问题:无法连接数据库、连接超时。 数据一致性问题:数据丢失、数据损坏。 配置问题:参数设置不当、权限配置错误。...# 示例:查看MySQL慢查询日志 SHOW VARIABLES LIKE 'slow_query_log'; 性能问题的排查步骤 检查系统资源使用情况,确认是否存在资源瓶颈。...-- 示例:查看MySQL当前连接数 SHOW STATUS LIKE 'Threads_connected'; 数据一致性问题的排查步骤 检查备份和恢复策略,确保数据可恢复。...总结 数据库故障排查是一个系统化的过程,需要结合工具和方法,逐步分析和解决问题。通过掌握常见的故障类型和排查步骤,可以有效提高数据库的稳定性和性能。

    55610

    如何排除MySQL的故障?

    数据库故障排除是数据库运维的日常工作,本篇将介绍如何排除MySQL故障。 发生故障时,首先需要确定故障问题的性质,用户可以通过以下的问题尝试确定: 应用程序、数据库或服务配置是否发生了更改?...模式和索引) 改善本地数据库服务器环境(纵向扩展) 网络、操作系统、服务器性能和内存 改进联网数据库结构(横向扩展) 数据分片、复制、MySQL集群 优化查询 调整数据库设置 注意,经常有用户问,...MySQL的默认设置适用于大多数环境。请记住,没有简单的解决办法可以提高一个典型数据库的性能,因为工程师已经将其最佳性能设计到默认设置中。...如果用户已经优化了MySQL数据库模式、索引、服务器平台和应用程序架构的设置,那么通过调整MySQL的设置,可以略微提高性能。...以上内容是关于如何排除MySQL故障的简介,感谢关注“MySQL解决方案工程师”!

    1K10

    如何排除MySQL的故障?

    数据库故障排除是数据库运维的日常工作,本篇将介绍如何排除MySQL故障。 发生故障时,首先需要确定故障问题的性质,用户可以通过以下的问题尝试确定: 应用程序、数据库或服务配置是否发生了更改?...模式和索引) 改善本地数据库服务器环境(纵向扩展) 网络、操作系统、服务器性能和内存 改进联网数据库结构(横向扩展) 数据分片、复制、MySQL集群 优化查询 调整数据库设置 注意,经常有用户问,...MySQL的默认设置适用于大多数环境。请记住,没有简单的解决办法可以提高一个典型数据库的性能,因为工程师已经将其最佳性能设计到默认设置中。...如果用户已经优化了MySQL数据库模式、索引、服务器平台和应用程序架构的设置,那么通过调整MySQL的设置,可以略微提高性能。...以上内容是关于如何排除MySQL故障的简介,感谢关注“MySQL解决方案工程师”!

    1.1K10

    听说Mysql你很豪横?-------------搭建MySQL MHA实现数据库高可用( MySQL MHA概述、 搭建 MySQL MHA、 MySQL MHA 故障切换)

    日本DeNA公司 youshimaton(现就职于 Facebook公司)开发 一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件 支持故障切换 在MySQL故障切换过程中,MHA...能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用 MHA还提供在线主库切换的功能,能够安全地切换当前运行的主库到一个新的主库中...2.案例需求 本案例要求通过MHA监控MySQL数据库在故障时进行自动切换,不影响业务。...3.案例实现思路 1)安装MySQL数据库 2)配置MySQL一主两从 3)安装MHA软件 4)配置无密码认证 配置MySQL MHA高可用 6)模拟master故障切换 2、实验需求 MHA搭建....故障模拟 主库失效 备选主库成为主库 从库2将备选主库指向为主库 3、具体操作 安装三台mysql5.6版本数据库 以下操作同时都要在三台机器上 yum安装依赖包 [root@localhost

    5.1K10

    故障分析 | MySQL 设置 terminology_use_previous 参数导致数据库 Crash

    当升级到 8.0.26 完成后,数据库开启正常监控采集,频繁的触发了 MySQL crash ,需要分析是什么原因导致,以下的分析日志均为测试环境模拟。...故障分析 查看 crash 日志我们可以看到 crash 时 MySQL 最后执行的是一条select * from information_schema.processlist命令,从 crash 的堆栈信息来看...,基本就是执行一个普通的 sql 触发了 libstdc 这个库的异常,导致数据库发出信号直接 abort MySQL ,个人不太懂代码。...,但在 8.0.27 的 release note 中提到一句有相关性的信息,当并发的访问 INFORMATION_SCHEMA.PROCESSLIST 表时,会导致 MySQL 故障(该说明后的 Bug...故障总结 本次个人分析因能力有限并未彻底了解该 BUG 的深层次原因,但从最近的几个版本来看,因为一些术语的变化,确实对 MySQL 的使用和兼容性上造成了一定影响 对于一些比较诡异的现象可以尝试搜索

    1.3K30

    数据库的故障恢复

    在经历了一段时间的忙碌后,终于又能抽出点时间写篇博客了,今天我们介绍一下数据库中的故障恢复,可以说,数据库中事务的ACID特性的保障有很大一部分都源于数据库的故障恢复功能,在数据库的编写代码中,有10%...左右的代码都是关于故障恢复,本文旨在介绍数据库的故障恢复类型以及恢复手段 前置知识 在了解故障恢复机制之前,我们要先了解一下数据库中数据存储的运行方式,在我们执行插入或者修改语句时,表面上看我们会将数据直接写入磁盘中...数据库故障恢复 故障类型 数据库的故障主要有以下几个方面: 事务故障:该类型故障主要是某一个程序(事务)自身运行错误所引起的故障,它会影响该程序本身 系统故障:由于外界因素(掉电、非正常关机)引起的故障...,这有点类似于我们在搭建数据库(MySQL、Redis)时的主从复制,我们会定期将主节点的数据同步到从节点中,如果主节点发生了宕机,我们便可以继续使用从节点保证数据的可靠性: 虽然我们引入了介质副本,但是当介质故障发生时...,我们会从运行日志的转储点开始对备份文件进行恢复: 至此,我们便解决了数据库中的故障恢复,数据库通过事务的撤销与重做、运行日志和备份来进行故障恢复,保证事务的原子性与一致性,提高数据库的可靠性: 好了,

    1.4K10

    故障分析 | MySQL死锁案例分析

    作者:杨奇龙网名“北在南方”,资深 DBA,主要负责数据库架构设计和运维平台开发工作,擅长数据库性能调优、故障诊断。...2.2 环境说明数据库 MySQL 8.0.30 事务隔离级别 REPEATABLE-READcreate table dl(id int auto_increment primary key,c1...starting index readmysql tables in use 1, locked 1LOCK WAIT 5 lock struct(s), heap size 1128, 3 row lock(s)MySQL...tables in use 1, locked 1LOCK WAIT 3 lock struct(s), heap size 1128, 2 row lock(s), undo log entries 1MySQL...另外文章的最后我们再次复习一下 MySQL 的加几个基本原则,方便大家后面遇到死锁案例进行分析:原则 1:加锁的基本单位是 next-key lock。原则 2:查找过程中访问到的对象才会加锁。

    1.4K30
    领券