Mysql 8 SELECT ... FOR UPDATE 似乎不起作用

Mysql 8 SELECT ... FOR UPDATE seems not working

环境

Mysql 8.0.25

我有一个名为 my_table 的 table 并且有一行,包含 id 3

CREATE TABLE my_table (
    id bigint AUTO_INCREMENT PRIMARY KEY
);
INSERT INTO my_table(id) VALUES (3);

我做了什么

我用两个客户端连接到 mysql(一个是 pycharm,一个是终端)

(在pycharm)

SET AUTOCOMMIT = 0;
SELECT @@AUTOCOMMIT;  # 0
START TRANSACTION;
    SELECT * FROM my_table WHERE id = 3 FOR UPDATE;

(在终端)

SELECT * FROM my_table WHERE id = 3;

预计

如果有锁,我应该无法 select 该行。

实际发生了什么

我能够SELECT行

mysql> SELECT * FROM my_table WHERE id = 3;
+----+
| id |
+----+
|  3 |
+----+
1 row in set (0.00 sec)

获取锁的正确方法是什么?

'for update'不会屏蔽查询,但不能在终端修改。