1、设置服务器缺省隔离级别
通过修改配置文件设置
可以在my.ini文件中使用transaction-isolation选项来设置服务器的缺省事务隔离级别。
该选项值可以是:
READ-UNCOMMITTEDREAD-COMMITTEDREPEATABLE-READSERIALIZABLE例如:
[mysqld]
transaction-isolation = READ-COMMITTED
通过命令动态设置隔离级别
隔离级别也可以在运行的服务器中动态设置,应使用SET TRANSACTION ISOLATION LEVEL语句。
其语法模式为:
SET [GLOBAL | SESSION] TRANSACTION ISOLATION LEVEL <isolation-level>
其中的<isolation-level>可以是:
READ UNCOMMITTEDREAD COMMITTEDREPEATABLE READSERIALIZABLE例如: SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;
2、隔离级别的作用范围
事务隔离级别的作用范围分为两种:
全局级:对所有的会话有效会话级:只对当前的会话有效例如,设置会话级隔离级别为READ COMMITTED :
mysql> SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
或:
mysql> SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
设置全局级隔离级别为READ COMMITTED :
mysql> SET GLOBAL TRANSACTION ISOLATION LEVEL READ COMMITTED;
3、查看隔离级别
服务器变量tx_isolation(包括会话级和全局级两个变量)中保存着当前的会话隔离级别。
为了查看当前隔离级别,可访问tx_isolation变量:
查看会话级的当前隔离级别:
mysql> SELECT @@tx_isolation;
或:
mysql> SELECT @@session.tx_isolation;
查看全局级的当前隔离级别:
mysql> SELECT @@global.tx_isolation;