MySQL故障诊断常用方法手册(含脚本、案例)
当你在使用MySQL数据库时,突然遇到故障,你是否会感到迷茫?
● 数据库响应变慢、SQL慢、数据库插入出现延时……
● 表不见了、日志出现多个断连记录……
● 非法断电造成MySQL启动报错、同步复制无法启动……
看到这些语句,你是否感同身受?又或者这些也曾是你踩过的坑?
很多DBA们曾经都被故障分析诊断弄得焦头烂额,也曾因问题无法处理而愁眉苦脸,每到这种时候就希望天神能够帮助我们打通任督二脉、或者直接赐予我们一个解决办法,然而一般却没有这么容易。
不过,好在在我们前行的道路上,有无数乐于分享的大佬,记录了他们曾遇到过的故障诊断问题以及解决办法,并且愿意将之分享出来。如此,便为之后可能会遇到相似问题的人们提供一种思考方式,而这很可能就是你解决问题的一把钥匙。
前人栽树,后人乘凉。从事MySQL数据库技术服务10余年、云和恩墨MySQL技术顾问——黄超老师,曾在墨天轮社区分享过一篇文章,主题是“MySQL运维案例分享”,他在文中记录分享了自己曾遇到过的20个故障以及详细的解决办法(附带详细步骤、脚本),感兴趣的朋友可以点开《分享20个MySQL运维案例》 看看。
除此之外,黄超老师还结合多年踩坑、排雷的经验,通过真实案例、场景进行了一场直播,分享了MySQL数据库的故障诊断的常用方法,主要包括以下4个板块:

一、网络故障诊断
1、 网络连接
当应用无法连接MySQL、主从复制时报错,可以确认网络是否连通
检查:Ping ip
2、 端口连接
以防出现屏蔽服务器、默认端口设置不准确
检查:talnet ip端口
3、 数据库连接
需考虑账号密码是否正确、驱动是否正常
检查:mysql -hip -uroot -p
二、操作系统故障诊断
1、 查看日志
Messages 日志
Atop 日志
此处有案例分享,可以点击直播查看(可直接空降至04:48)
2、 查看资源占用
cpu:top
内存:free
硬盘:df,du
IO:iostat
三、MySQL故障诊断
(接下来是黄超老师本此直播分享的重点内容,大家可从直播的14:30空降查看)
1、 查看日志
2、 查看进程和端口
3、 查看错误号
4、 查看权限
5、 查看参数和状态
6、 查看会话
7、 查看系统表和视图
具体的检查方法和代码内容、图片较多,大家可以直接点击查看PPT全文-经典知识库:MySQL故障诊断常用方法手册 - 黄超
或跟随老师的直播查看,过程中老师也结合自己的经历进行了详细的讲解,通俗易懂。
四、案例分享
在第四部分案例分享板块中,老师一共分享了4个解决案例,从问题描述到诊断、解决,十分详细地还原、回顾了故障处理方式,包含清晰的代码和过程,4个案例分别是:




由于内容较多,本文无法一一尽述,大家可以查看直播或PPT了解具体内容。
熟练掌握这些方法,会让您在遇到各种各样的MySQL故障的时候,得心应手、游刃有余。希望大家能够有所收获。
相关阅读
墨天轮,围绕数据人的学习成长提供一站式的全面服务,打造集新闻资讯、在线问答、活动直播、在线课程、文档阅览、资源下载、知识分享及在线运维为一体的统一平台,持续促进数据领域的知识传播和技术创新。
关注官方公众号:
墨天轮、 墨天轮平台、墨天轮成长营、数据库国产化 、数据库资讯
MySQL故障诊断常用方法手册(含脚本、案例)的更多相关文章
- MySQL通用优化手册
转载: MySQL通用优化手册 内容提纲 MySQL的特点: 硬件.系统优化: MySQL 配置优化: SCHEMA设计优化: SQL 优化: 其他优化. MySQL 的特点 首先,需要明确的是.想要 ...
- 常用脚本学习手册——Bat脚本
常用脚本学习手册--Bat脚本 我们在日常工作中常常会遇到一些需要重复进行的工作,又或者我们的项目在转交客户时需要去简化配置过程 这时我们就需要使用到一些自动化部署操作,我们常常会采用脚本来完成这部分 ...
- MySQL/MariaDB/Percona数据库升级脚本
MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本 ...
- MySQL分库分表备份脚本
MySQL分库备份脚本 #脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh #!/bin/sh MYUSER=root M ...
- CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动
CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...
- 第九章 MySQL中LIMIT和NOT IN案例
第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生 ...
- MYSQL HA 部署手册
1 MySQL启用主主双写复制 1.1 卸载系统默认的数据库mariadb 安装mysql出现安装包不兼容问题,首先卸载掉系统自带mariadb 查看已经安装的mariadb rpm -qa|grep ...
- 使用mysql存放Ambari元数据的配置案例
使用mysql存放Ambari元数据的配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.环境准备 详情请参考我之前的笔记:离线方式部署Ambari2.6.0.0 中关 ...
- MySQL源码安装一键脚本
#红色部分根据自己的需求来定义#!/bin/bash #卸载系统自带的Mysql /bin/rpm -e $(/bin/rpm -qa | grep mysql|xargs) --nodeps /bi ...
- mysql 5.7 编译安装脚本。
此脚本尽量运行在centos 服务器上面,用于编译安装mysql 5.7 将此脚本和相应的软件 都放到/usr/local/src 目录下面 由于不能上传附件 所以需要把cmake-3.9.6.ta ...
随机推荐
- Jmeter函数助手27-urlencode
urlencode函数用于将字符串进行application/x-www-form-urlencoded编码格式化. String to encode in URL encoded chars:填入字 ...
- 【Java】【常用类】Calendar 日历类
Calendar 日历类,我居然念错发音,来,好好看下音标 ['kælɪndə] 卡琳达 public class DateTest { public static void main(Strin ...
- 【Windows】使用Dism++打包系统
目的: 封装自己装好的操作系统,以便后续系统重装提高效率 纯净原生系统需要自己搭建开发环境,许多系统库也没有添加,费劲 网络下的整合包总是参杂些垃圾广告,不如自己封装一个 思路: 利用VMware虚拟 ...
- 【Shiro】06 自定义Realm授权实现
创建一个激活的用户类: public class ActiverUser { private User user; private List<String> roleList; priva ...
- 对国内的人行机器人(humanoid)的一些技术类的提问?
贵公司产品在机器人仿真时具体采用的仿真软件(NVIDIA家的.开源的webot,等等)是哪款,如果没有使用NVIDIA全家桶那么其原因是什么(如:技术依赖没有独立技术.技术栈太过于复杂暂时没有精力和能 ...
- 告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验
告别Hugging Face模型下载难题:掌握高效下载策略,畅享无缝开发体验 Huggingface国内开源镜像:https://hf-mirror.com/ 里面总结了很多下载的方法,下面进行一一讲 ...
- SMU Spring 2023 Trial Contest Round 10
A. Remove Duplicates 题意大概就是从左到右数字最先数完的最先输出 所以我们可以在输入每个数时记录每个数的出现次数,然后在循环一遍,每次该数字的次数减1,当数字的次数只剩1的时候就输 ...
- Linux驱动| Linux内核 RTC时间架构
上一篇文章我们给大家讲解了基于瑞芯微rk3568平台芯片hym8563驱动的移植,本文给大家详细讲解Linux内核的时间子系统. <Linux驱动|rtc-hym8563移植笔记> 一.L ...
- ubuntu中sshd_config配置文件不存在
sshd_config配置文件不存在 导致外部无法连接ssh 解决方案: 1.完全卸载 sudo apt-get remove openssh-server openssh-client --purg ...
- python配置pip镜像
Python配置pip的镜像 国内的网络通过pip下载软件包只有不到10k的下载速度.不仅下载的慢,还容易引发超时错误,导致下载失败.而将给pip配置国内的镜像源可以完美的解决这个问题.本文讲解了pi ...