1)为了能够监控到锁的等待,修改innodb_lock_wait_timeout
(root@localhost)[(none)]22:50>set session innodb_lock_wait_timeout=1000;
Query OK, 0 rows affected (0.00 sec)
(root@localhost)[(none)]22:51>select @@innodb_lock_wait_timeout;
±---------------------------+
| @@innodb_lock_wait_timeout |
±---------------------------+
| 1000 |
±---------------------------+
1 row in set (0.00 sec)
2)开启两个命令行窗口,分别执行下面的语句
会话1:
(root@192.168.6.13)[aaa]22:52>set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
(root@192.168.6.13)[aaa]22:52>update testlock set name=‘Tom123’ where id=1;
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
会话2:
set autocommit=0;
update testlock set name=‘Tom456’ where id=1;
3)开启第三个窗口,查看当前数据库是否有等待