session A:     session B:      
                 
mysql> show variables like '%iso%'; mysql> show variables like '%iso%';  
+---------------+-----------------+ +---------------+-----------------+  
| Variable_name | Value           | | Variable_name | Value           |  
+---------------+-----------------+ +---------------+-----------------+  
| tx_isolation  | REPEATABLE-READ | | tx_isolation  | REPEATABLE-READ |  
+---------------+-----------------+ +---------------+-----------------+  
1 row in set (0.00 sec)   1 row in set (0.00 sec)    
                 
mysql> begin;     mysql> begin;      
Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec)
                 
mysql> select * from user;   mysql> select * from user;    
+----+--------+     +----+--------+      
| id | name   |     | id | name   |      
+----+--------+     +----+--------+      
|  1 | ligang |     |  1 | ligang |      
|  2 | lvbu   |     |  2 | lvbu   |      
|  3 | zhaoyu |     |  3 | zhaoyu |      
+----+--------+     +----+--------+      
3 rows in set (0.00 sec)   3 rows in set (0.00 sec)    
                 
mysql> update user set name='ddd' where id=4;        
Query OK, 0 rows affected (0.00 sec)          
Rows matched: 0  Changed: 0  Warnings: 0        
(把存在ddd之外的记录全部加X锁)          
        mysql> insert into user values(4,'ddd');
        ERROR 1205 (HY000): Lock wait timeout exceeded; 
        try restarting transaction    
                 
mysql> commit;              
Query OK, 0 rows affected (0.00 sec)          
                 
        mysql> insert into user values(4,'ddd');
        Query OK, 1 row affected (0.00 sec)  
                 
        mysql> select * from user;    
        +----+--------+      
        | id | name   |      
        +----+--------+      
        |  4 | ddd    |      
        |  1 | ligang |      
        |  2 | lvbu   |      
        |  3 | zhaoyu |      
        +----+--------+      
        4 rows in set (0.01 sec)    
                 
mysql> begin;              
Query OK, 0 rows affected (0.00 sec)          
                 
mysql> select * from user;            
+----+--------+              
| id | name   |              
+----+--------+              
|  1 | ligang |              
|  2 | lvbu   |              
|  3 | zhaoyu |              
+----+--------+              
3 rows in set (0.00 sec)            
                 
        mysql> commit;      
        Query OK, 0 rows affected (0.00 sec)
                 
mysql> select * from user;            
+----+--------+              
| id | name   |              
+----+--------+              
|  1 | ligang |              
|  2 | lvbu   |              
|  3 | zhaoyu |              
+----+--------+              
3 rows in set (0.00 sec)            
                 
mysql> commit;              
Query OK, 0 rows affected (0.00 sec)          
                 
mysql> select * from user;            
+----+--------+              
| id | name   |              
+----+--------+              
|  4 | ddd    |              
|  1 | ligang |              
|  2 | lvbu   |              
|  3 | zhaoyu |              
+----+--------+              
4 rows in set (0.00 sec)            

 

 

 

session A:     session B:      
                 
mysql> show variables like '%iso%'; mysql> show variables like '%iso%';  
+---------------+----------------+ +---------------+----------------+  
| Variable_name | Value          | | Variable_name | Value          |  
+---------------+----------------+ +---------------+----------------+  
| tx_isolation  | READ-COMMITTED | | tx_isolation  | READ-COMMITTED |  
+---------------+----------------+ +---------------+----------------+  
1 row in set (0.00 sec)   1 row in set (0.00 sec)    
                 
mysql> begin;     mysql> begin;      
Query OK, 0 rows affected (0.00 sec) Query OK, 0 rows affected (0.00 sec)
                 
mysql> select * from user;   mysql> select * from user;    
+----+--------+     +----+--------+      
| id | name   |     | id | name   |      
+----+--------+     +----+--------+      
|  4 | ddd    |     |  4 | ddd    |      
|  1 | ligang |     |  1 | ligang |      
|  2 | lvbu   |     |  2 | lvbu   |      
|  3 | zhaoyu |     |  3 | zhaoyu |      
+----+--------+     +----+--------+      
4 rows in set (0.02 sec)   4 rows in set (0.02 sec)    
                 
mysql> update user set name='cvvt' where id=5;      
Query OK, 0 rows affected (0.01 sec)          
Rows matched: 0  Changed: 0  Warnings: 0        
                 
        mysql> insert into user values (5,'cvvt');
        Query OK, 1 row affected (0.00 sec)  
                 
        mysql> select * from user;    
        +----+--------+      
        | id | name   |      
        +----+--------+      
        |  5 | cvvt   |      
        |  4 | ddd    |      
        |  1 | ligang |      
        |  2 | lvbu   |      
        |  3 | zhaoyu |      
        +----+--------+      
        5 rows in set (0.00 sec)    
                 
mysql>  select * from user;          
+----+--------+              
| id | name   |              
+----+--------+              
|  4 | ddd    |              
|  1 | ligang |              
|  2 | lvbu   |              
|  3 | zhaoyu |              
+----+--------+              
4 rows in set (0.00 sec)            
                 
        mysql> commit;      
        Query OK, 0 rows affected (0.00 sec)
                 
mysql>  select * from user;          
+----+--------+              
| id | name   |              
+----+--------+              
|  5 | cvvt   |              
|  4 | ddd    |              
|  1 | ligang |              
|  2 | lvbu   |              
|  3 | zhaoyu |              
+----+--------+              
5 rows in set (0.00 sec)