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 ...
随机推荐
- 【Dubbo】构建SpringBoot整合Dubbo的Demo
参考乐字节的Dubbo教程 https://www.bilibili.com/video/BV19L4y1n7YE Zookeeper单机部署 (Windows) 因为项目需要,这里我自己学习就采用Z ...
- T800机器人图片 —— 强大的好莱坞电影工业,T800机器人模型也如此精细真实!
视频地址: https://www.ixigua.com/6764744689003266571
- 说说"铁马冰河"事件
地址: https://baike.baidu.com/item/%E9%93%81%E9%A9%AC%E5%86%B0%E6%B2%B3/60313943?fr=aladdin 其实也没有什么好说的 ...
- 推荐一款.NET开源、功能强大的二维码生成类库
前言 在日常开发需求中,生成二维码以分享文本内容或跳转至指定网站链接等场景是比较常见的.今天大姚给大家分享一款.NET开源(MIT License).免费.简单易用.功能强大的二维码生成类库:QrCo ...
- 8月5日CSP-S模拟赛赛后总结
8月5日CSP-S模拟赛赛后总结 \[8月5日 \ \ CSP-S模拟赛 \ \ 赛后总结 \\ 2024年8月5日 \\ by \ \ \ uhw177po \] 一.做题情况 第一题比赛 \(10 ...
- C# ?. 判斷Null值
有一句代碼: @Html.DisplayFor(modelItem => item.SellDate, "RegularDate") RegularDate.cshtml 內 ...
- 高级工程师面试大全- spring篇
1.spring是什么 Spring是一个轻量级的IoC和AOP容器框架.是为Java应用程序提供基础性服务的一套框架,目的是用于简化企业应用程序的开发,它使得开发者只需要关心业务需求.主要包括以下七 ...
- RabbitMq消息可靠性之确认模式 通俗易懂 超详细 【内含案例】
RabbitMq保证消息可靠性之确认模式 介绍 消息的确认,是指生产者投递消息后,如果 Broker 收到消息,则会给我们生产者一个应答.生产者进行接收应答,用来确定这条消息是否正常的发送到 Brok ...
- shell编程入门-适合小白
一.变量的使用 1. 变量命名 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="yikoulinux" 注意,变量名和等号之间不能有空格,这 ...
- fofa开放免费教育账号类比专业账号!
用户须知 1.免责声明:本教程作者及相关参与人员对于任何直接或间接使用本教程内容而导致的任何形式的损失或损害,包括但不限于数据丢失.系统损坏.个人隐私泄露或经济损失等,不承担任何责任.所有使用本教程内 ...