Mysql

MySQL 特定的數據庫配置文件

  • April 29, 2013

在 MySQL 的配置文件中,我已經全域禁用了自動送出。

[mysqld]
autocommit=0

不過,我需要為特定的 Ruby on Rails 數據庫打開 MySQL 的自動送出功能。它可能適用於使用者或數據庫本身(沒關係)。認為它看起來像這樣。

[mysqld]
autocommit=0
execute_sql="Custom SQL to set autocommit for a database"

比方說

  • 你在 Linux 中使用 MySQL
  • 數據目錄是/var/lib/mysql

您可以使用init-file選項

您可以創建一個名為/var/lib/mysql/init-file.sql

將客戶 SQL 放入/var/lib/mysql/init-file.sql

然後你可以嘗試兩件事之一

嘗試#1

將此添加到/etc/my.cnf

[mysqld]
init-file=/var/lib/mysql/init-file.sql

然後執行

service mysql restart

嘗試#2

直接執行這個

service mysql restart --init-file=/var/lib/mysql/init-file.sql

試一試 !!!

警告

那是初始化程式碼的全域設置。如果您的會話必須啟用自動送出,那麼只需執行

SET autocommit=0

在會話中或放入SET AUTOCOMMIT=0init-file 選項文件中。這可能仍然不會產生您想要的效果,因為在連接終止時一切都會恢復到預設設置。

更新 2013-02-28 15:40 EST

如果您正在尋找 my.cnf 影響客戶端的啟動選項,請嘗試以下操作:

[client]
autocommit=0

要麼

[mysql]
autocommit=0

也許嘗試my.cnf使用這些選項在 Linux 主目錄中添加另一個

有關更多資訊,請參閱MySQL 選項文件文件

引用自:https://dba.stackexchange.com/questions/35700