MySQL怎么修改锁记录超时等待时间

MySQL数据库超时等待时间过长,一个事务等待时间过长会造成死锁,特定场合下有必要修改默认等待时间

(1)登录MySQL,查看锁记录等待时间:

SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';

等待时间是50秒

(2)把表中id=1的数据加锁,另一个事务对记录修改:

SELECT * FROM test WHERE id=1 FOR UPDATE;

(3)另一个用户登录mysql,修改id=1的数据:

UPDATE test SET city='杭州' WHERE id=1;

超时退出 1min

(4)把超时等待时间修改为5秒:

SET innodb_lock_wait_timeout=5;

(5)查看锁记录超时等待时间:

SHOW VARIABLES LIKE 'innodb_lock_wait_timeout';

(6)另一个用户修改id=1的数据:

UPDATE test SET city='杭州' WHERE id=1;

等待时间 7s

上一篇 MySQL Explain详解
下一篇 MySQL判断数据库表和表字段是否存在
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。