当你在使用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故障诊断常用方法手册(含脚本、案例)的更多相关文章

  1. MySQL通用优化手册

    转载: MySQL通用优化手册 内容提纲 MySQL的特点: 硬件.系统优化: MySQL 配置优化: SCHEMA设计优化: SQL 优化: 其他优化. MySQL 的特点 首先,需要明确的是.想要 ...

  2. 常用脚本学习手册——Bat脚本

    常用脚本学习手册--Bat脚本 我们在日常工作中常常会遇到一些需要重复进行的工作,又或者我们的项目在转交客户时需要去简化配置过程 这时我们就需要使用到一些自动化部署操作,我们常常会采用脚本来完成这部分 ...

  3. MySQL/MariaDB/Percona数据库升级脚本

    MySQL/MariaDB/Percona数据库升级脚本截取<OneinStack>中upgrade_db.sh, 一般情况下不建议升级数据库版本,该脚本专提供给各位版本控们.为防止大版本 ...

  4. MySQL分库分表备份脚本

    MySQL分库备份脚本 #脚本详细内容 [root@db02 scripts]# cat /server/scripts/Store_backup.sh #!/bin/sh MYUSER=root M ...

  5. CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动

    CentOS6.7下使用非root用户(普通用户)编译安装与配置mysql数据库并使用shell脚本定时任务方式实现mysql数据库服务随机自动启动1.关于mysql?MySQL是一个关系型数据库管理 ...

  6. 第九章 MySQL中LIMIT和NOT IN案例

    第九章 MySQL中LIMIT和NOT IN案例 一.案例的项目 1.创建数据库语句: #创建数据库 CREATE DATABASE `schoolDB`; USE `schoolDB`; #创建学生 ...

  7. MYSQL HA 部署手册

    1 MySQL启用主主双写复制 1.1 卸载系统默认的数据库mariadb 安装mysql出现安装包不兼容问题,首先卸载掉系统自带mariadb 查看已经安装的mariadb rpm -qa|grep ...

  8. 使用mysql存放Ambari元数据的配置案例

    使用mysql存放Ambari元数据的配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.环境准备   详情请参考我之前的笔记:离线方式部署Ambari2.6.0.0 中关 ...

  9. MySQL源码安装一键脚本

    #红色部分根据自己的需求来定义#!/bin/bash #卸载系统自带的Mysql /bin/rpm -e $(/bin/rpm -qa | grep mysql|xargs) --nodeps /bi ...

  10. mysql 5.7 编译安装脚本。

    此脚本尽量运行在centos 服务器上面,用于编译安装mysql 5.7 将此脚本和相应的软件 都放到/usr/local/src 目录下面 由于不能上传附件  所以需要把cmake-3.9.6.ta ...

随机推荐

  1. HCIA first

    每台电脑都有网线 网线连的是什么? 网线插在接入交换机 流量给入汇聚交换机 汇聚给核心交换机 核心交换机 堆叠是指将一台以上的交换机组合起来共同工作,以便在有限的空间内提供尽可能多的端口.多台交换机经 ...

  2. 【PhpAdmin】小皮面板配置PhpAdmin

    1.先用面板开启MySQL和Apache服务 2.MySQL的端口不在3306,我改为3307 3.新建一个站点,声明域名和端口配置 没有配置本地域名映射,这个域名就没有什么用,还是依靠localho ...

  3. tcprewrite-man

    官网手册:https://tcpreplay.appneta.com/wiki/tcprewrite-man.html https://linux.die.net/man/1/tcpprep 中文:h ...

  4. ViT:拉开Trasnformer在图像领域正式挑战CNN的序幕 | ICLR 2021 —— An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale

    论文地址: https://arxiv.org/abs/2010.11929 Github地址: https://github.com/google-research/vision_transform ...

  5. Python报错:pkg-config could not find libraries ['avformat', 'avcodec', 'avdevice', 'avutil', 'avfilter', 'swscale', 'swresample']

    参考: https://github.com/PyAV-Org/PyAV/issues/238 https://pyav.org/docs/6.1.2/installation.html#mac-os ...

  6. 一款比较好用的 ssh、 ftp 服务的客户端软件 —— NxShell

    该软件地址: https://gitee.com/nxshell/nxshell 截图: ======================================================= ...

  7. (续) MindSpore 如何实现一个线性回归 —— Demo示例

    前文: https://www.cnblogs.com/devilmaycry812839668/p/14975860.html 前文中我们使用自己编写的损失函数和单步梯度求导来实现算法,这里是作为扩 ...

  8. 关于python:pip安装选项“ ignore-installed”和“ force-reinstall”之间的区别

    参考: https://www.codenong.com/51913361/ ==================================================== 官方文档解释: ...

  9. vim跳转到上次和下次光标位置

    在vim的命令模式下: ctrl + i    下次光标位置; ctrl + o   上次光标位置. =====================================

  10. 微服务架构SpringCloud的理解

    微服务架构是什么? 微服务是一种架构思想,实际上以分布式系统方式开发.架构是为了解耦.该架构解决的是分布式中的四个问题: 一.客户端如何访问众多服务: 应用划分为众多服务以后,客户端需要如何访问? 通 ...