mysql故障排查

news2024/11/19 16:40:30

MySQL是目前企业最常见的数据库之一日常维护管理的过程中,会遇到很多故障汇总了常见的故障,MySQL默认配置无法满足高性能要求

一 MySQL逻辑架构图

  • 客户端和连接服务
  • 核心服务功能
  • 存储擎层
  • 数据存储层

 二 MySQL单实例常见故障

故障1

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

问题分析

数据库未启动或者数据库端口被防火墙拦截

解决方法

启动数据库或者防火墙开放数据库监听端口

故障2

ERROR 1045 (28000): Access denied for user 'root@ocalhost' (using password:NO)

问题分析

密码不正确或者没有权限访问

解决方法

修改my.cnf主配置文件,在[mysqld]下添加skip-grant-tables

①update更新user表authentication string字段

②重新授权

故障3

故障现象

在使用远程连接数据库时偶尔会发生远程连接数据库很慢的问题

问题分析

DNS解析慢、客户端连接过多

解决方法

修改my.cnf主配置文件(增加skip-name-resolve参数数据库授权禁止使用主机名

故障4

Can't open file: 'xxx, forums.MYI.(errno: 145)

问题分析

服务器非正常关机,数据库所在空间已满,或一些其它未知的原因对数据库表造成了损坏

因拷贝数据库导致文件的属组发生变化

解决方法

修复数据表(myisamchk、phpMyAdmin)

修改文件的属组

故障5

故障现象

ERROR 1129 (HY000): Host xxx.xxx.xxx.xxx is blocked because of manyconnection

errors;unblock with 'mysgladmin flush-hosts'

问题分析

超出最大连接错误数量限制

解决方法

①清除缓存(flush-hosts关键字)

②修改mysql配置文件 (max_connect errors=1000)

故障6

故障现象

Too many connections

问题分析

连接数超出MySQL的最大连接限制

解决方法

①修改MySQL配置文件 (max connections = 10000)

②临时修改参数

set GLOBAL max connections=10000;

故障 7

Warning: World-writable config file '/etc/my.cnf' is ignored ERROR! MySQL is running but PID file could not be found
问题分析:

MySQL 的配置文件/etc/my.cnf 权限不对。

解决方法:

chmod 644 /et/my.cnf

故障8

故障现象

InnoDB: Error: page 14178 log sequence number 29455369832lnnoDB: is in the future! Current

system log sequence number 29455369832

问题分析

innodb数据文件损坏

解决方法

修改my.cnf配置文件(innodb_force_recovery=4)启动数据库后备份数据文件

利用备份文件恢复数据

三MySQL主从环境常见故障

故障一

故障现象

从库的Slave_IO_Running为NO

The slave l/0 thread stops because master and slave have equal MySQL serverids: these ids

must be different for replication to work (or the --replicate-same-server-id option must be used on

slave but this does not always make senseplease check the manual before using it).

问题分析:

主库和从库的server-id值一样

解决方法

①修改从库的server-id的值,修改为和主库不一样

②重新启动数据库并再次同步

故障现象 2

从库的 Slave_IO_Running 为 NO

问题分析:

造成从库线程为 NO 的原因会有很多,主要原因是主键冲突或者主库删除或更新数据,从库找不到记录,数据被修改导致。通常状态码报错有 1007、1032、1062、1452 等。

解决方法一:

mysql> stop slave; mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1; mysql> start slave;

解决方法二:

设置用户权限,设置从库只读权限

set global read_only=true;

故障 3

故障现象

Error initializing relay log position: l/O error reading the header from the binarylog

问题分析

从库的中继日志relay-bin损坏

解决方法

手工修复,重新找到同步的binlog和pos点,然后重新同步即可mysql> CHANGE MASTER TO

MASTER LOG FILE='mysql-bin.xxx,MASTER LOG POS=xxx;

四 MySQL优化

案例1

硬件优化

CPU:推荐使用S.MP架构的多路对称

CPU内存:4GB以上的物理

内存磁盘:RAID-0+1磁盘阵列或固态

硬盘

MySQL配置文件优化

调整配置项

案例 2

SQL优化

尽量使用索引进行查询

优化分页GROUP BY优化

MySQL架构优化

架构选择:主从、主主、一主多从、多主多从 

调优思路:

  • 分库分表思路和优劣
  • my.cnf 内参数的优化
  • MySQL服务优化--内存的使用,磁盘的使用
  • 操作系统的优化--内核、TCP连接数量
  • 磁盘 IO优化
  • 数据的应用--怎样取数据,SQL语句的优化
  • 数据库设计与规划--以后再修改很麻烦,估计数据量,使用什么存储引擎
  • 硬件优化
硬件优化

CPU—— 64 位、高主频、高缓存,高并行处理能力内存——大内存、主频高,尽量不要用 SWAP

硬盘——15000转、RAID5、raid10 。 SSD

网络——标配的千兆网卡,10G网卡,bond0,MySQL服务器尽可能和使用它的web服务器在同一局域网内,尽量避      免诸如防火墙策略等不必要的开销

 数据库设计与规划(架构上的优化)

纵向拆解: 专机专用

例:现在公司一台服务器同时负责 web、ftp、数据库等多个角色。 R720 dell 内存 :768G

纵向拆解后就是:数据库服务器专机专用,避免额外的服务可能导致的性能下降和不稳定性。

横向拆解: 主从同步、负载均衡、高可用性集群,当单个 MySQL 数据库无法满足日益增加的

需求时,可以考虑在数据库这个逻辑层面增加多台服务器,以达到稳定、高效的效果。

查询优化

建表时表结构要合理,每个表不宜过大;在任何情况下均应使用最精确的类型。例如,如果ID列用int是一个好主意,    而用text类型则是个蠢办法;TIME列酌情使用DATE或者DATETIME。

索引,建立合适的索引。

查询时尽量减少逻辑运算(与运算、或运算、大于小于某值的运算);

减少不当的查询语句,不要查询应用中不需要的列,比如说 select * from  等操作。

减小事务包的大小;

将多个小的查询适当合并成一个大的查询,减少每次建立/关闭查询时的开销;

某些过于复杂的查询拆解成多个小查询,和上一条恰好相反

建立和优化存储过程来代替大量的外部程序交互。

磁盘 IO 规划,IO 相关的技术

raid 技术:raid0或raid10

SSD:

15000转、RAID5、raid10 。 SSD swap 分区:最好使用 raid0 或 SSD

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1570572.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker Desktop 不支持 host 网络模式

先把这个结论的放在前面,直接访问链接就能看到官方文档中已经明确说了不支持。 参考链接:docker desktop for windows 不支持 host 网络模式 以前对于 docker 的网络模式,一直只是了解,没有亲自尝试过。结果今天在尝试 docker 的 …

06 - RS 触发器

---- 整理自B站UP主 踌躇月光 的视频 1. R-S 触发器电路电路 RSQQ’00QQ’011010011100 刚上电时,输出的状态是不确定的,只确定两个输出是相反的。 S0,R0 时候,Q 状态保持不变 S1,R0 时候,Q 状态被设置为 1…

X.509数字证书的结构与解析

1、什么叫数字签名 数字签名: 将报文按双方约定的HASH算法计算得到一个固定位数的报文摘要。在数学上保证:只要改动报文中任何一位,重新计算出的报文摘要值就会与原先的值不相符。这样就保证了报文的不可更改性。 将该报文摘要值用发送者的私…

关于Idea无法正常启动

编辑这个文件 最后一行 加上 pause 双击文件 会显示报错信息

4.4学习总结

一.线段树概念 一.定义: 线段树是一种二叉搜索树,而二叉搜索树,首先满足二叉树,即每个结点最多有两颗子树,并且是一颗搜索树,我们要知道,线段树的每个结点都存储了一个区间,也可以理解成一个线…

使用git 和 github协作开发

文章目录 github浏览器汉化插件github新建仓库git安装以及ssh配置团队创建及基本命令的使用创建团队基本命令 分支管理快速切换远程仓库地址 如何使用git && github进行协作开发,包括git常见基础命令 github浏览器汉化插件 在刚开始使用github的时候&#…

微信小程序上传到gitee

共三步 1、新建gitee仓库 点号,新建仓库,填入仓库信息新建即可 2、修改版本管理参数 微信开发者工具中点开版本管理,未初始化,需要先点初始化 接下来将设置中的通用、网络认证、远程3个部分的参数填写好 通用:核对…

【从浅学到熟知Linux】冯诺依曼体系结构及进程概念详谈!

🏠关于专栏:Linux的浅学到熟知专栏用于记录Linux系统编程、网络编程及数据库等内容。 🎯每天努力一点点,技术变化看得见 文章目录 冯诺依曼体系结构操作系统如何理解管理操作系统概念设计操作系统目的系统调用和库函数概念 进程基…

DashOJ-8.奇偶统计

题目链接: 题目详情 - 奇偶统计 - DashOJ 思路: (while循环加if分支语句) 巧用死循环 while(1) 然后在里面第一句就判断输入的数字是否等于0 if(x0) ,如果 等于0就直接break跳出循环 或者用 while(cin>>x) 代…

红黑树内部结点数量分析

红黑树内部结点数量分析 一、红黑树的性质二、黑高与内部结点数量2.1最大内部结点数量2.2最小内部结点数量 三、伪代码实现四、C语言代码实现五、结论 红黑树是一种自平衡的二叉搜索树,它通过一系列复杂的性质和操作来维持平衡,从而确保各种动态集合操作…

Docker 容器编排技术解析与实践

探索了容器编排技术的核心概念、工具和高级应用,包括 Docker Compose、Kubernetes 等主要平台及其高级功能如网络和存储管理、监控、安全等。此外,文章还探讨了这些技术在实际应用中的案例,提供了对未来趋势的洞见。 一、容器编排介绍 容器编…

用 Wireshark 解码 H.264

H264,你不知道的小技巧-腾讯云开发者社区-腾讯云 这篇文章写的非常好 这里仅做几点补充 init.lua内容: -- Set enable_lua to false to disable Lua support. enable_lua trueif not enable_lua thenreturn end-- If false and Wireshark was start…

日期专题:做题笔记 (时间显示/星期计算/星系炸弹/第几天/纪念日)

目录 时间显示 代码 星期计算 代码 星系炸弹 代码 第几天 纪念日 代码 时间显示 时间显示 这道题主要是单位换算。 ①单位换算 ②输出格式&#xff1a; a. 不足两位补前导零。利用printf输出 b. 注意 long long 输出格式应该是 %lld 长整型 代码 #include <…

解码零跑汽车2023年报:营收增速大幅滑坡,净亏42亿,如何讲故事

在2023年的新势力车企中&#xff0c;有这么一家低调崛起的品牌&#xff0c;并没有像蔚小理那样高调&#xff0c;但去年全年销量却反超小鹏汽车&#xff0c;晋升成为新势力车企中的销量第三名&#xff0c;它就是第四家登陆港交所上市的新势力品牌—零跑汽车。 不过&#xff0c;…

阿里云短信服务业务

一、了解阿里云用户权限操作 1.注册账号、实名认证&#xff1b; 2.使用AccessKey 步骤一 点击头像&#xff0c;权限安全的AccessKey 步骤二 设置子用户AccessKey 步骤三 添加用户组和用户 步骤四 添加用户组记得绑定短信服务权限 步骤五 添加用户记得勾选openApi访问 添加…

Coursera自然语言处理专项课程04:Natural Language Processing with Attention Models笔记 Week01

Natural Language Processing with Attention Models Course Certificate 本文是学习这门课 Natural Language Processing with Attention Models的学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 文章目录 Natural Language Processing with Attention ModelsWeek 01…

LeetCode每日一题之专题一:双指针 ——快乐数

快乐数OJ链接&#xff1a;202. 快乐数 - 力扣&#xff08;LeetCode&#xff09; 题目&#xff1a; 题目分析: 为了房便叙述&#xff0c;将「对于⼀个正整数&#xff0c;每⼀次将该数替换为它每个位置上的数字的平方和」这⼀个 操作记为 x 操作&#xff1b; 题目告诉我们&#…

没用的cpp知识又增加了之--cpp11利用宏、模板以及lambda表达式实现python like的装饰器语义

等有时间了我再bb吧&#xff0c;先直接上码 msvc 2015 编译执行效果 用法 style1 int CCar::oilfeed(int degress) DECORATED(logging<int>, ARGS(__FUNCTION__), DECORATED(checkRotateSpeed<int>, ARGS(this, __FUNCTION__), {m_n_rotat_speed degress;retur…

华为云1核2G免费使用一年

个人用户专享云服务器、云数据库产品每天上午9:30开抢&#xff0c;其他产品每天0点开放领取&#xff0c;企业用户所有产品每天0点开放领取&#xff1b; 云产品体验名额有限&#xff0c;领完即止。详情&#xff1a;https://www.vpspick.com/vps/591.html 通用入门型 T6 云服务…

数码管与译码器

目录 数码管 显示的基本原理 LED数码管的显示方式 静态显示方式 动态显示方式 具体案例 数码管静态显示 电路图 keil文件 数码管动态显示 电路图 keil文件 74LS138译码器 简介 译码表 译码器案例 电路图 keil文件 74HC595译码器 前言 举例解释 简单案例 …