Mysql 性能监控及调优


Posted in MySQL onApril 06, 2021

死锁概念:
两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象

1.监控死锁(innotop):

(1) 启用 innodb_status_file
在/etc/my.cnf添加如下:

[mysqld]
innodb_status_file =1
 于/var/lib/mysql/下查看.err日志

(2)启用 innodb_monitor
建立监视表:

mysql>use mysql;
mysql> create table innodb_monitor ( id int ) engine = innodb;
mysql> show innodb status\G;

例:一个表test,结构如下:

  id:主键;
  state:状态;
  time:时间;
  索引:index(state,time)

任务1: update test set state=1064,time=now() where state=1061 and time < date_sub(now(), INTERVAL 30 minute);

锁分析:先锁定非主键索引index,再锁定主键索引id

任务2: update test set state=1067,time=now() where id in (9921180);

锁分析:先锁定主键索引id,再锁定非主键索引index

解决方法:保证锁顺序一致

select id from tab_test where state=1061 and time < date_sub(now(), INTERVAL 30 minute);
update tab_test state=1064,time=now() where id in(......);

2.监控慢查询操作:

在/etc/my.cnf添加如下:

[mysqld]
slow_query_log=1
slow_query_log_file=/tmp/mysqld_slow.log
long-query-time=1(单位:秒)
log-queries-not-using-indexes(未使用索引)

Mysql 性能监控及调优

MySQL 相关文章推荐
MySQL 如何分析查询性能
May 12 MySQL
MySQL 逻辑备份与恢复测试的相关总结
May 14 MySQL
Mysql Online DDL的使用详解
May 20 MySQL
MySQL 8.0 之不可见列的基本操作
May 20 MySQL
Mysql中where与on的区别及何时使用详析
Aug 04 MySQL
MySQL数据库中varchar类型的数字比较大小的方法
Nov 17 MySQL
mysql 联合索引生效的条件及索引失效的条件
Nov 20 MySQL
深入讲解数据库中Decimal类型的使用以及实现方法
Feb 15 MySQL
MySQL为数据表建立索引的原则详解
Mar 03 MySQL
解决MySQL报“too many connections“错误
Apr 19 MySQL
MySQL的prepare使用以及遇到的bug
May 11 MySQL
MySQL数据库查询之多表查询总结
Aug 05 MySQL
数据库连接池
mysql优化
Apr 06 #MySQL
Windows10下安装MySQL8
Mysql 如何批量插入数据
Apr 06 #MySQL
MySQL之DML语言
Apr 05 #MySQL
多属性、多分类MySQL模式设计
Apr 05 #MySQL
多表查询、事务、DCL
You might like
跟我学Laravel之配置Laravel
2014/10/15 PHP
ThinkPHP模版中导入CSS和JS文件的方法
2014/11/29 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
List the Stored Procedures in a SQL Server database
2007/06/20 Javascript
javascript基本语法分析说明
2008/06/15 Javascript
JS提交并解析后台返回的XML的代码
2008/11/03 Javascript
鼠标滚轮控制网页横向移动实现思路
2013/03/22 Javascript
jquery可见性过滤选择器使用示例
2013/06/24 Javascript
JavaScript中prototype为对象添加属性的误区介绍
2013/10/15 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
JavaScript中的getMilliseconds()方法使用详解
2015/06/10 Javascript
小议JavaScript中Generator和Iterator的使用
2015/07/29 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
jQuery实现右下角可缩放大小的层完整实例
2016/06/20 Javascript
详解nodejs微信公众号开发——6.自定义菜单
2017/04/13 NodeJs
详解微信小程序开发之formId使用(模板消息)
2019/08/27 Javascript
jQuery实现获取多选框的值示例
2020/02/07 jQuery
Vue CLI3移动端适配(px2rem或postcss-plugin-px2rem)
2020/04/27 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
在Django的模板中使用认证数据的方法
2015/07/23 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
Django ORM 常用字段与不常用字段汇总
2019/08/09 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python hashlib常见摘要算法详解
2020/01/13 Python
Python填充任意颜色,不同算法时间差异分析说明
2020/05/16 Python
利用python汇总统计多张Excel
2020/09/22 Python
米兰必去买手店排行榜首位:Antonioli
2016/09/11 全球购物
职称自我鉴定
2013/10/15 职场文书
大一期末自我鉴定
2013/12/13 职场文书
客户表扬信范文
2014/01/10 职场文书
学生打架检讨书大全
2014/01/23 职场文书
施工安全生产承诺书
2014/05/23 职场文书
本科毕业生应聘自荐信范文
2014/06/26 职场文书
学校节水倡议书
2015/04/29 职场文书
MySQL普通表如何转换成分区表
2022/05/30 MySQL