当你在使用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. 映射lun

    环境 VMware1 网卡与 主机ping通 创建文件夹将文件解压进去 删除压缩包 创建虚拟机 下一步下一步,完成虚拟机 编辑虚拟机设置 否 账号密码 admin Admin@storage 等待 导 ...

  2. mysql报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

    mysql报错:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql ...

  3. linux常用命令(每日积累)

    linux查看应用程序的进程号和端口号 lsof -i :port,查看指定端口运行的程序,同时还有当前连接. netstat -nupl  (UDP类型的端口)netstat -ntpl  (TCP ...

  4. Python中FastAPI项目使用 Annotated的参数设计

    在FastAPI中,你可以使用PEP 593中的Annotated类型来添加元数据到类型提示中.这个功能非常有用,因为它允许你在类型提示中添加更多的上下文信息,例如描述.默认值或其他自定义元数据. F ...

  5. AMD 驱动安装 error 192解决问题

    AMD 驱动安装 error 192解决问题 环境:win10专业版.自动更新已禁止.硬件安装设置[是](window自动下载驱动) [以下环境均在安全模式下进行 (win+r msconfig,安全 ...

  6. 【Mybatis】14 缓存

    1.什么是缓存? - 缓存是指把经常需要读写的数据,保存到一个高速的缓冲区中,这个行为叫缓存 - 也可以是指被保存在高速缓冲区的数据,也叫缓存 2.Mybatis缓存 Mybatis中分为一级缓存和二 ...

  7. 虚拟硬盘系统 —— Windows系统 磁盘加速软件 —— 优缺点以及与真实物理磁盘访问文件的区别

    在家里的局域网搞了一个NAS,但是由于磁盘读存速率问题导致远程copy的速度只有15MB/s,而如果NAS中的文件已在内存中有缓存则远程copy的速度为50MB/s. 于是考虑利用内存建立虚拟硬盘: ...

  8. Ruoyi-Cloud 启动失败的坑,关于 selectConfigList

    刚才编辑了一堆,不知道为啥加了个英文单词,当前页面刷新自动搜索了单词,之前的内容总的就是现在都要会SpringCloud,高并发,几个真正懂高并发的,问题一般项目也没有啥高并发.自己之前的项目遇到过高 ...

  9. dubbo序列化问题(二)hession2与kryo切换 转

    dubbo提供了好几种序列化方式,一般我们都是用的是默认的hession2,而dubbox为我们增加了kryo和fst许了方式,主要体现在速度快,占用内存小,然后我们将序列化配置改为是用kryo: & ...

  10. iptables 工作过程整理

    转载注明出处: 1.概念和工作原理 iptables是Linux系统中用来配置防火墙的命令.iptables是工作在TCP/IP的二.三.四层,当主机收到一个数据包后,数据包先在内核空间处理,若发现目 ...