mysql事务隔离级别

注:原创作品,转载请注明出处。

一设置mysql自动提交关闭

为演示效果,先设置mysql的自动提交关闭。注意mysql服务器默认设置的自动提交时开
启的。修改方法为:可在配置文件my.ini中加入如以下语句:
[mysqld]   
init_connect='set autocommit=0'


然后重启服务,重启服务后登陆mysql,键入:show variables like 'autocommit'
出现如下结果:
autocommit ON
这说明我我往配置文件中加入的语句没有起到任何的效果。我发现init_connect后以Super用户登陆是不被加载的,这是mysql出于安全原因所考虑的。然后我切换到“普通用户”登陆,键入:show variables like 'autocommit'
出现如下结果:
autocommit OFF
这个问题也就得到解决。如果你没有普通用户,那么就用下面的方法吧:
mysql> set autocommit = 0;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'auto%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | ON |
| automatic_sp_privileges | ON |
+--------------------------+-------+
4 rows in set (0.00 sec)

mysql> set autocommit = 0;
Query OK, 0 rows affected (0.00 sec)

mysql> show variables like 'auto%';
+--------------------------+-------+
| Variable_name | Value |
+--------------------------+-------+
| auto_increment_increment | 1 |
| auto_increment_offset | 1 |
| autocommit | OFF |
| automatic_sp_privileges | ON |
+--------------------------+-------+
4 rows in set (0.00 sec)
1 row in set (0.00 sec)
比较两种方法,第一种是永久的修改,而第二种只是临时会话的。


二:设置全局的mysql服务器事务隔离级别
windows下修改my.ini配置文件,在mysqld下增加如下语句:
    #定制mysql的事务隔离级别
#可选参数有:READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ,
#SERIALIZABLE.
transaction-isolation = READ-UNCOMMITTED


在客户端查看是否修改成功:
select @@tx_isolation;
mysql> select @@tx_isolation;
+------------------+
| @@tx_isolation |
+------------------+
| READ-UNCOMMITTED |
+------------------+
1 row in set (0.00 sec)

可看出已经修改成功。


关于mysql事务,请参加一哥们的博文。 真是酣畅淋漓。佩服。
[url]http://xm-king.iteye.com/blog/770721[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值