更新时间:2023-09-04
功能说明
锁分析页可以查看当前数据库存在的锁阻塞和历史死锁
前提条件
DMP平台存在正在运行的MySQL数据库。
注意事项
无。
操作步骤
- 选择一台MySQL数据库(一主一从、一主两从使用主节点)登录SQL控制台,即为SQL控制台A,逐条执行SQL:
create table t (i integer);
insert into t values(1);
commit;
START TRANSACTION;
delete from t;
- 重复步骤1,即为SQL控制台B,逐条执行SQL:
START TRANSACTION;
delete from t where i = 1;
- 进入[监控中心/数据库监控]界面,选择该MySQL数据库后点击<性能/锁分析/即时锁阻塞>,可查看到锁阻塞的详情以及阻塞关系。
- SQL控制台A逐条执行SQL:
CREATE TABLE `test1` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
INSERT INTO test1 (id,name) VALUES (1,"test1");
INSERT INTO test1 (id,name) VALUES (2,"test2");
BEGIN;
select * from test1 where id=1 for update ;
- SQL控制台B逐条执行SQL:
BEGIN;
select * from test1 where id=2 for update;
- SQL控制台A执行SQL:
update test1 set id=id where id=2;
- SQL控制台B执行SQL:
update test1 set id=id where id=1;
- 进入[监控中心/数据库监控]界面,选择该MySQL数据库后的性能操作项点击<性能/锁分析/死锁分析>,可查看到死锁详情。