日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql数据库永久设置手动提交事务(InnoDB存储引擎禁止autocommit默认开启)

發布時間:2024/9/20 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql数据库永久设置手动提交事务(InnoDB存储引擎禁止autocommit默认开启) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

mysql數據庫InnoDB存儲引擎(默認情況下是自動控制提交事務)與其他關系型數據庫在默認事務處理與其他關系型數據庫略有不同,之前已經習慣Oracle數據庫的手動提交事務的處理方式,mysql數據庫只有innoDB存儲引擎支持事務處理操作。

? ? ?現在設置mysql數據庫也是手動提交事務。方法有兩種:①臨時生效(只對當前客戶端有效),②永久生效

臨時生效(只對當前客戶端有效)

set @@autocommit=0 (0為關閉狀態,1為開啟狀態)?

如下圖命令行所示:此方式只對本次客戶端有效,關閉后自動恢復自動提交事務狀態。

通過第三方客戶端也可以同時達到此效果:

?

②永久生效(通過修改配置文件參數設置)

一、在Linux系統中:

? ? 通過修改配置文件my.cnf文件,通過vim編輯my.cnf文件,在[mysqld](服務器選項下)添加:

? ? autocommit=0

? ? 保存,然后重啟mysql服務即可生效。

二、在Windows系統中:但是在my.ini文件添加autocommit=0,重啟mysql生效參數過程,數據庫不能正常啟動服務;

如下圖所示:命令行啟動提示:錯誤文件中提示:no variables autocommit=0(MySQL server 5.1版本,但是安裝了MySQL server 5.6版本后直接使用autocommit=0即可使用,猜測可能是MySQL高版本(MySQL server5.5版本完美使用了原生的innoDB存儲引擎)對Windows系統支持了此參數)

Windows系統中(MySQL server5.1版本)設置該參數生效方法:

需要借助init_connect參數:服務器為每個連接的客戶端執行的字符串。字符串由一個或多個SQL語句組成。要想指定多個語句,用分號間隔開.

通過修改配置文件my.ini文件,編輯my.ini文件,在[mysqld](服務器選項下)添加:

?init_connect='SET AUTOCOMMIT=0'

?保存,然后重啟mysql服務即可生效。

或者使用下列方法也可以達到:

1、命令行下:
mysql>SET GLOBAL init_connect='SET autocommit=0';
2、啟動mysqld時帶上--init_connect='SET autocommit=0'

Windows系統中(MySQL server5.1版本)當我們以Super權限(root)登錄mysql數據庫服務時,show variables like '%autocommit%'查得結果還是:
autocommit ?ON,
這是因init_connect(手冊中有對其解釋)以Super用戶登錄是不被加載的,這是mysql出于安全考慮,而后用普通用戶登錄,
show variables like '%autocommit%' 顯示的結果如下:

autocommit OFF

來源:https://blog.csdn.net/xiaoyi23000/article/details/51690601

總結

以上是生活随笔為你收集整理的mysql数据库永久设置手动提交事务(InnoDB存储引擎禁止autocommit默认开启)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。