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