文章来源:爱可生云数据库作者:洪斌 DBA应该对InnoDB: Semaphore wait has lasted > 600 seconds. We intentionally crash the server because it appears to be hung. 一点都不陌生,MySQL后台线程srv_error_monitor_thread发现存在阻塞超过600s的latch锁时,如果连续10次检测该锁仍没有释放,就会触发panic避免服务持续hang下去. 发生了什么 版本号:M…
背景      MySQL服务器因为磁盘阵列损坏机器crash,重启MySQL服务时 报如下错误: InnoDB: Reading tablespace information from the .ibd files... InnoDB: Restoring possible half-written data pages from the doublewrite InnoDB: buffer... InnoDB: Doing recovery: scanned up to log sequen…
​MySQL 之 Explain 输出分析 背景 前面的文章写过 MySQL 的事务和锁,这篇文章我们来聊聊 MySQL 的 Explain,估计大家在工作或者面试中多多少少都会接触过这个.可能工作中实际使用的不多,但是不论的自己学习还是面试,都需要掌握的. Explain 可以使用在SELECT, DELETE, INSERT, REPLACE, and UPDATE 语句中,执行的结果会在每一行显示用到的每一个表的详细信息.简单语句可能结果就只有一行,但是复杂的查询语句会有很多行数据. Ex…
概述 一般我们在对mysql数据库做优化,肯定需要对慢sql去做分析才能开始优化,那么有什么分析的方法呢?下面通过对sql执行时间和执行情况来做分析. 一.SQL 执行时间分析 通过找到执行时间长的 SQL 语句,可以直观的发现数据层的效率问题. 1.通过 show processlist 来查看系统的执行情况 mysql> show processlist; 2.通过 profiling 来进行查看 这个命令是查看 SQL 的执行时间,能很直观的看出快慢. 2.1 查看 profiling 是…
MySQL 慢查询日志分析及可视化结果 MySQL 慢查询日志分析 pt-query-digest分析慢查询日志 pt-query-digest --report slow.log 报告最近半个小时的慢查询: pt-query-digest --report --since 1800s slow.log 报告一个时间段的慢查询: pt-query-digest --report --since '2013-02-10 21:48:59' --until '2013-02-16 02:33:50'…
用数据库的时候,偶尔会出现死锁,针对我们的业务系统,出现死锁的直接结果就是系统卡顿.客户找事儿,所以我们也在想尽全力的消除掉数据库的死锁.出现死锁的时候,如果只是想解锁,用show full processlist看下kill掉就好了,如果想查找到详细的问题,一个办法是用show engine innodb status来查看简略信息或者开死锁日志,后期在mysql日志里面慢慢分析.以上这写方法我们都用过,最近在看Innodb的书的时候发现另一种实时的分析方法,能最大限度的分析死锁的原因. My…
原文地址:mysql慢日志文件分析处理作者:maxyicha mysql有一个功能就是可以log下来运行的比较慢的sql语句,默认是没有这个log的,为了开启这个功能,要修改my.cnf或者在mysql启动的时候加入一些参数. 如果在my.cnf里面修改,需增加如下几行 long_query_time = 10 log-slow-queries = long_query_time 是指执行超过多久的sql会被log下来,这里是10秒. log-slow-queries 设置把日志写在那里,为空的…
iOS crash日志分析 一. 寻找crash文件:手机崩溃后的ips或者crash文件(ips文件可以直接修改成crash文件,直接改后缀名就可以了),这里说下如何拿到crash文件 1. 把运行崩溃了的手机连上** Xcode->Window->Devices ** 2. 选中手机和view device Logs 3. 找到应用程序的creash文件,把右边的copy下来,再在桌面建个.crash文件,把里面的内容copy进去就OK了 二. 配置使用命令行工具symbolicatecr…
Semaphore 源码分析 1. 在阅读源码时做了大量的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限,并且代码阅读起来没有 IDE 方便,所以在 github 上提供JDK1.8 的源码.详细的注释及测试用例.欢迎大家 star.fork ! 2. 由于个人水平有限,对源码的分析理解可能存在偏差或不透彻的地方还请大家在评论区指出,谢谢! 1. Semephore 简单介绍    一般来说,在 Java 中比较常用的同步工具就是 Lock 和 Synchronized 但是 Ja…
记一次 mysql 启动没反应 ,重启linux又可以启动 vim /var/log/mysqld.log 2018-02-04 13:22:49 28507 [ERROR] InnoDB: Cannot allocate memory for the buffer pool2018-02-04 13:22:49 28507 [ERROR] Plugin 'InnoDB' init function returned error.2018-02-04 13:22:49 28507 [ERROR]…