2011-01-21 135 views
22

我正在使用mac,並且我使用自制軟件安裝了mysql。將mysql默認引擎更改爲innodb

brew install mysql 

非常標準的安裝。

mysql> show engines; 
+------------+---------+------------------------------------------------------------+--------------+------+------------+ 
| Engine  | Support | Comment             | Transactions | XA | Savepoints | 
+------------+---------+------------------------------------------------------------+--------------+------+------------+ 
| MRG_MYISAM | YES  | Collection of identical MyISAM tables      | NO   | NO | NO   | 
| CSV  | YES  | CSV storage engine           | NO   | NO | NO   | 
| MyISAM  | DEFAULT | Default engine as of MySQL 3.23 with great performance  | NO   | NO | NO   | 
| InnoDB  | YES  | Supports transactions, row-level locking, and foreign keys | YES   | YES | YES  | 
| MEMORY  | YES  | Hash based, stored in memory, useful for temporary tables | NO   | NO | NO   | 
+------------+---------+------------------------------------------------------------+--------------+------+------------+ 

我想innodb是默認的存儲引擎。我需要做什麼?

回答

33

[mysqld]部分在您的INI文件,添加:

default-storage-engine = innodb 

它通常是/etc/my.cnf,但不知道有關Mac。

docs

在Unix,Linux和Mac OS X,從下面的文件讀取啓動選項,按照指定的順序MySQL程序(頂部項被用於第一)。

File Name Purpose 

/etc/my.cnf   Global options 
/etc/mysql/my.cnf Global options (as of MySQL 5.1.15) 
SYSCONFDIR/my.cnf Global options 
$MYSQL_HOME/my.cnf Server-specific options 
defaults-extra-file The file specified with --defaults-extra-file=path, if any 
~/.my.cnf   User-specific options 

最後一個是從未使用過這個守護進程。

+0

哪裏是我的ini文件。我如何找到mysql將在哪裏查找ini文件。 – 2011-01-21 23:39:41

0

我可以從phpMyAdmin看到MySQL有一個名爲information_schema的數據庫,它包含一個名爲ENGINES的表。除了更改ini文件的更全局的情況,難道不是將表SUPPORT字段切換爲MyISAMInnoDB(分別爲「YES」和「DEFAULT」)的簡單解決方案?我自己並沒有這樣做,所以請自行承擔風險......並讓我知道事情的結果如果你這樣做。