mysql设置不主动提交无效_27、myslq更改为不自动提交

27.1、说明:

默认情况下, MySQL启用自动提交模式(变量autocommit为ON)。这意味着, 只要你执行DML操作的语句,

MySQL会立即隐式提交事务(Implicit Commit)。这个跟SQL Server基本是类似的,与oralce是相反的。

27.2、查看autocommit模式:

1、说明:

由于变量autocommit分会话(session)系统变量与全局(global)系统变量,所以查询的时候,最好区别是会话

系统变量还是全局系统变量。

session:当前会话有效,也就是当前连接。

global:全局,不包含当前连接,之后新获取的连接都会生效,重启mysql服务失效。

2、查看会话系统变量:

show session variables like 'autocommit';

D+kQlWeeicnqAAAAAElFTkSuQmCC

(2)查看全局系统变量:

show global variables like 'autocommit';

wE4CFpnsATk9AAAAABJRU5ErkJggg==

(3)补充:

Value的值为ON表示autocommit开启,OFF表示autocommit关闭。

27.3、设置当前会话客户端生效:

1、设置会话系统变量:

set session autocommit=0;

2、查看会话系统变量:

show session variables like 'autocommit';

5dvP8DAACGsT9jF+NXAADgxP8DaY1Swc5+rBQAAAAASUVORK5CYII=

27.4、设置全局会话客户端有效,重启mysql服务失效:

1、设置全局系统变量:

set global autocommit=0;

2、重新打开一个session连接,查看全局系统变量:

show global variables like 'autocommit';

kTMWb+2deoMAAAAASUVORK5CYII=

27.5、配置my.cnf文件,永久生效:

1、编辑my.cnf文件:

[mysqld]

autocommit=0

2、重启mysql服务。

27.5、补充:

还有种配置方式,如下所示,这种方式从MySQL 5.6开始已经不生效了,必须用'autocommit=0'这种方式替换。

1、my.cnf配置文件配置:

[mysqld]

init_connect="SET autocommit=0"

2、全局系统变量配置:

mysql> select version();

nWs9QmHwAAAABJRU5ErkJggg==

mysql> set global init_connect='SET autocommit=0';

u8TQEAAAAASUVORK5CYII=

/*只能使用global,因为init_connect是全局系统变量

zHhspIWZUngAAAABJRU5ErkJggg==

*/

mysql> show global variables like 'init_connect';

EMgBn8D0+JpgiqElQRAAAAAElFTkSuQmCC

27.6、注意:

在不同的连接(session)下,使用'commit;'是相互不影响的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值