InnoDB禁止autocommit預設開啟

markzy5201190發表於2013-11-09
InnoDB禁止autocommit預設開啟

DB版本:mysql5.1.48

之前以為開啟innodb手工控制事務commit(預設情況下是innodb自動控制事務提交),會像其他引數設定一樣,
直接在配置檔案my.cnf中直接新增:
autocommit=0
但是這樣新增,重啟mysql生效引數過程,資料庫不能正常啟動服務;
錯誤檔案中提示:no variables autocommit=0字樣;故瞭解了下:
設定該引數生效方法:
藉助init_connect引數:伺服器為每個連線的客戶端執行的字串。字串由一個或多個SQL語句組成。要想指定多個語句,用分號間隔開.
1:命令列下:
mysql>SET GLOBAL init_connect='SET autocommit=0';
2.配置檔案中my.cnf
[mysqld]
init_connect='SET autocommit=0'
3.啟動mysqld時帶上--init_connect='SET autocommit=0'

注意:
這個有個問題,當我們以Super許可權(root)登入mysqld時,show variables like '%autocommit%'查得結果:
autocommit  ON,
這是因init_connect(手冊中有對其解釋)以Super使用者登入是不被載入的,這是mysql出於安全考慮,而後用普通使用者登入,
show variables like '%autocommit%' 結果如下:
autocommit OFF


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26855487/viewspace-776192/,如需轉載,請註明出處,否則將追究法律責任。

相關文章