MySQL线上问题处理事项

 2023-09-05 阅读 39 评论 0

摘要:系列文章目录 第一章:sql_mode模式 第二章:optimize table、analyze table、alter table、gh-ost 第三章:InnoDB MVCC原理 第四章:sql语句执行过程 第五章:Percona Toolkit工具简介 第六章:MySQL索引 第七章:MySQL的锁 第八

系列文章目录

第一章:sql_mode模式
第二章:optimize table、analyze table、alter table、gh-ost
第三章:InnoDB MVCC原理
第四章:sql语句执行过程
第五章:Percona Toolkit工具简介
第六章:MySQL索引
第七章:MySQL的锁
第八章:MySQL加锁分析
第九章:MySQL线上问题处理事项


文章目录

  • 系列文章目录
  • 前言
  • 一、处理连接不工作的连接
  • 二、query_rewrite


前言

mysql线上问题处理的几个注意事项。

一、处理连接不工作的连接

但是需要注意,在 show processlist 的结果里,踢掉显示为 sleep 的线程,可能是有损的。从下面的两张图可以看到,通过show precesslist看到线程是sleep状态,但是查看事务表,其实这个事务还是running状态。因此为了保证无损,需要在innodb_trx表中查看事务的运行状态。
在这里插入图片描述
在这里插入图片描述

二、query_rewrite

线上出现新上线的功能sql语句错误或者没有使用上索引等问题,mysql 5.7以上版本,可以通过query_rewirte把输入的一种语句改写成另外一种模式。
比如,语句被错误地写成了 select * from t where id + 1 = 10000,你可以通过下面的方式,增加一个语句改写规则。

insert into query_rewrite.rewrite_rules(pattern, replacement, pattern_database) values ("select * from t where id + 1 = ?", "select * from t where id = ? - 1", "db");
call query_rewrite.flush_rewrite_rules();

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/1386.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息