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';
(2)查看全局系统变量:
show global variables like 'autocommit';
(3)补充:
Value的值为ON表示autocommit开启,OFF表示autocommit关闭。
27.3、设置当前会话客户端生效:
1、设置会话系统变量:
set session autocommit=0;
2、查看会话系统变量:
show session variables like 'autocommit';
27.4、设置全局会话客户端有效,重启mysql服务失效:
1、设置全局系统变量:
set global autocommit=0;
2、重新打开一个session连接,查看全局系统变量:
show global variables like 'autocommit';
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();
mysql> set global init_connect='SET autocommit=0';
/*只能使用global,因为init_connect是全局系统变量
*/
mysql> show global variables like 'init_connect';
27.6、注意:
在不同的连接(session)下,使用'commit;'是相互不影响的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏