原文:https://dev.mysql.com/doc/refman/5.0/en/set-transaction.html
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL
{
REPEATABLE READ
| READ COMMITTED
| READ UNCOMMITTED
| SERIALIZABLE
}
Scope of the Isolation Level
You can set the isolation level globally, for the current session, or for the next transaction:
With the GLOBAL keyword, the statement sets the default transaction level globally for all subsequent sessions. Existing sessions are unaffected.
With the SESSION keyword, the statement sets the default transaction level for all subsequent transactions performed within the current session.
Without any SESSION or GLOBAL keyword, the statement sets the isolation level for the next (not started) transaction performed within the current session.
A change to the global default isolation level requires the SUPER privilege. Any session is free to change its session isolation level (even in the middle of a transaction), or the isolation level for its next transaction.
除了上面的方法,也可以通过tx_isolation变量来改变隔离级别;
SELECT @@GLOBAL.tx_isolation, @@tx_isolation;
SET GLOBAL tx_isolation='REPEATABLE-READ';
SET SESSION tx_isolation='SERIALIZABLE';
另外推荐播客 http://mysqllover.com/?p=57