mysql性能监控 调优_Mysql 性能监控及调优

死锁概念:

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

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(未使用索引)

fe288e378781f2b878fa7c3e6847a5b4.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值