运维工程师之-MySQL的故障问题总结_mysql 的故障总结

pt-osc


故障问题12: select查询语句慢



头一天好好的,第二天就慢了
optimize table t1;


故障问题13: 慢语句处理,同一个存储过程一天内执行了几十次



slowlog 抓到是一个存储过程,执行几十次


故障问题14: delete  
 binlog2sql 翻转 delete 替换为update


故障问题15: 索引问题:



荣誉索引过多,索引列比较长(前缀),联合索引(索引覆盖长度,顺序)
slowlog ----> explai ---->索引


故障问题16: 存储引擎



  1. 表空间迁移
  2. 每周六全备,其他时候binlog增量.
    异常断电,binlog损坏,ibdata1损坏
  3. 碎片整理
    alter table t1 engine innodb;
  4. 锁等待
  5. 幻读,不可重复读

故障问题17:日志故障



1.reset master rm -rf 导致主从IO线程故障
数据库如果出现损坏 无法完整恢复

  1. gtid : --skip-gtids 导致数据无法恢复

  2. slowlog


故障问题18: 备份恢复



  1. mysqldump 加了 --set-gtid-purged=off,主从构建不成功
  2. –max_allowed_packet,大表备份时报错
  3. -E -R --triggers没加
  4. 增量合并失败.

故障问题19: 主从



1.主从故障: IO SQL show slave status \G
2.主从延时: 延时时间 日志量差异
3.主从不一致: 从库宕机 pt工具
4.延时从库 解决逻辑故障
5.过滤复制 只复制了部分库 没有复制mysql,查询时连接不上或没有权限
6.gtid复制搭建


故障问题20: 高可用MHA



只有vip功能 缺了binlogserver 故障提醒功能
MHA+keepalive 权重问题


故障问题21: 分布式Mycat



1.分片方式,分片策略设计不合理
2.跨分片join 全局表 ER表


故障问题:22: 优化



  1. innodb_flush_log_at_trx_commit=0
  2. sync_binlog=0
  3. innodb_flush_method=fsync 占用大量的额外内存,
    配合固态硬盘使用 O_direct

**2. 架构类**


1. 一主1从+读写分离proxysql maxscale (50G)



8核32G
阈值:
并发连接 800-1000
并发查询 5W QPS
并发事物 300 TPS


2.一主3从+读写分离+延时从 (100-200G)



8核32G
阈值:
并发连接 800-1000
并发查询 8W QPS
并发事物 200 TPS


3.一主多从+级联复制+过滤复制 (300-500G)



8核32G
阈值:
并发连接 800-1000
并发查询 15-20W QPS
并发事物 200 TPS


4.MHA+ProxySQL 1主3从



1主2从做MHA+proxySQL 1从做容灾
16核64G*3 + 8核16G

阈值:
并发连接 1500-2000
并发查询 12W QPS
并发事物 400 TPS

此架构适合电商平台,物流
2T数据


5. PXC + proxySQL(MGC+maxscale)



16核64G*3 + 8核16G
阈值:
并发连接 1500-2000
并发查询 12W QPS
并发事物 400 TPS

此架构适合电商平台,物流
2T数据


6.Mycat + MHA(PXC)\*3 高可用分布式集群



16核128G*7
阈值:
并发连接 3000-5000
并发查询 20W QPS
并发事物 800-1000 TPS

教育行业(大数据平台)
9T数据


7.redis sentinel+Docker



redis Cluster + k8s


8. MongDB replication



保险类公司
16核 256内存 + 40T*4台
20T左右数据 +保单


9. MongDB Sharding + HASH



数据在PB级别: 共享单车 百度地图 京东 360
16核128G9台40T


### 3. 优化类


锁等待  
 索引+slow  
 innoDB换成TokuDB(MyROCKS)


### 4. 升级迁移


1. zabbix
2. MongDB Sharding + HASH





### 最后

**对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。**

**整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。**

**再分享一波我的Java面试真题+视频学习详解+技能进阶书籍**

![美团二面惜败,我的凉经复盘(附学习笔记+面试整理+进阶书籍)](https://img-blog.csdnimg.cn/img_convert/7d803d88ef9c3bf559ea62d067da9263.webp?x-oss-process=image/format,png)



1. zabbix
2. MongDB Sharding + HASH





### 最后

**对于很多Java工程师而言,想要提升技能,往往是自己摸索成长,不成体系的学习效果低效漫长且无助。**

**整理的这些资料希望对Java开发的朋友们有所参考以及少走弯路,本文的重点是你有没有收获与成长,其余的都不重要,希望读者们能谨记这一点。**

**再分享一波我的Java面试真题+视频学习详解+技能进阶书籍**

[外链图片转存中...(img-AMeO1bPS-1714805960784)]

> **本文已被[CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】](https://bbs.csdn.net/topics/618154847)收录**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值