









操作指令:
查看数据库版本:select version();
查看隔离级别:select @@session.tx_isolation;
SHOW VARIABLES LIKE 'transaction_isolation';
修改隔离级别:set @@session.tx_isolation=参数;
SET SESSION transaction_isolation='REPEATABLE-READ';
可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
开启事务:start transaction;
提交:commit;
回滚:rollback;
mysql innodb默认的隔离级别是可重复读










锁简称 |
全称 |
说明 |
S锁 |
共享锁 |
普通select语句不加锁,使用该SELECT ... LOCK IN SHARE MODE语句加S锁 |
X锁 |
排他锁 |
插入、更新、修改加X锁,使用SELECT ... FOR UPDATE加X锁 |
-- 查看事务
select * from information_schema.INNODB_TRX;
-- 查看锁
select * from information_schema.INNODB_LOCKS;
-- 查看锁等待
select * from information_schema.INNODB_LOCK_WAITS;


行锁-不同行数据







同一行数据 x+s = 互斥 && s+s = 不互斥




Spring 事务



分布式事务

CAP定理

base定理

分布式事务解决方案












