SERIALIZABLEsession
REPEATABLE_READ (默认)(幻读:读不到刚刚更新的数据)code
READ_COMMITTED(不可重复读:一个事务中屡次查询可能不一致)事务
READ_UNCOMMITTED(脏读:读取到未提交的数据)it
//查询全局和Session的隔离级别 select @@GLOBAL.tx_isolation, @@Session. tx_isolation; //结果:可重复读 REPEATABLE-READ | REPEATABLE-READ
SET GLOBAL tx_isolation='SERIALIZABLE' SET SESSION tx_isolation='READ_COMMITTED'
start transaction; //insert,update 等操做 commit;
//同时给多表加锁,table1加读锁,table2加写锁。 lock table table1 READ, table2 write;
unlock tables;
读锁,当前session写操做失败,其余session只能读,写操做会被block。io
写锁,当前session能够读写,其余session读写都被block。table