2008-09-21 64 views
2

如何在已安裝的MySql實例上啓用inno-db支持?如何在MySql 4上面安裝的MySql 5上啓用inno-db支持?

我已經安裝了mysql-5.0.67-win32。 執行'顯示引擎'時,'InnoDB''DISABLED'。 根據文檔MySql編譯時支持inno-db (來自doc:DISABLED的值是因爲服務器啓動時使用禁用引擎的選項,或者因爲並未提供啓用它所需的所有選項)。

在my.ini中,我評論了'skip-innodb'這一行。這沒有幫助。 所有其他inno-db相關變量保持不變。

我在經歷過描述的情況之前執行了一些不尋常的操作。 我安裝了mysql-4.0.17-win。我卸載它,然後安裝mysql-5.0.67-win32。 在安裝嚮導中,我只選擇了MyISAM支持(據我所知,我以這種方式禁用了inno-db支持。當我嘗試用inno-db的支持重新安裝時,我有使用我以前的數據庫'mysql'帳戶信息的問題)。

MySQL文檔說,我應該使用mysqldump導出數據,然後在升級過程中導入導出的數據。我試圖這樣做,但是當我導入數據時,我獲得了有關語法錯誤的消息(我認爲它與mysql的第4版和第5版的某些不兼容性有關)

回答

0

我已經解決了這個問題。

簡而言之: 由於導入數據時出現了一些奇怪的語法錯誤,我無法在MySql4上轉儲數據庫並在MySql5上恢復它。

我在安裝之後嘗試用舊數據庫覆蓋MySql5數據庫,包括數據庫'mysql'。它工作正常,但我無法啓用inno-db支持。 (這樣,我甚至可以使用功能PASSWORD舊密碼(而不是OLD_PASSWORD))

由於'mysql'的數據庫結構在5版本中發生變化,我試圖再次安裝MySql5並複製我的舊數據庫, mysql'之一。在此之後,我更新了'mysql'數據庫,並更正了'mysql'導出數據的版本。以這種方式我獲得了MySQL 5的工作。

畢竟我還執行
mysqlcheck --all-databases --auto-repair
升級我的表。

P.S.感謝所有答案的作者,這些答案暗示瞭解決問題的正確方法。

1

也許您已禁用inno-db全局配置文件。在Linux上,這將與/etc/mysql/my.cnf類似 - 也許Windows有一個類似的全局配置文件。

+0

看起來是這樣的,我更新了問題的細節。 – sergtk 2008-09-21 20:39:10

+0

我評論了'skip-innodb'。這不會幫助:( – sergtk 2008-09-21 20:50:59

4

默認情況下應該啓用。在某些情況下,MySQL lib文件夾的權限錯誤會導致InnoDB咆哮。檢查您的MySQL錯誤日誌是否有權限錯誤。

+0

我禁用它默認情況下,我添加到描述的原因,權限是可以的 – sergtk 2008-09-22 17:00:10

3

我在my.ini中有以下innodb選項。這是一個非常小的配置,所以如果你想讓mysql具有良好的性能,就不要使用這個值。更改my.ini後請重新啓動mysql。

#*** INNODB Specific options *** 
innodb_data_home_dir="C:/mysqldata/" 
#skip-innodb 
innodb_additional_mem_pool_size=120M 
innodb_flush_log_at_trx_commit=1 
innodb_log_buffer_size=16M 
innodb_buffer_pool_size=10M 
innodb_log_file_size=2M 
innodb_thread_concurrency=8 
1

確保您正在更改正確的my.ini文件。在Windows上,這是從許多地方讀取。順序是:

  1. WINDIR \ my.ini中,WINDIR \ my.cnf文件
  2. C:\ my.ini中,C:\ my.cnf文件
  3. INSTALLDIR \ my.ini文件,安裝目錄\我的。 CNF
  4. 默認值,額外的文件

在命令提示符下鍵入mysql --help看到你的計算機如實際順序:

默認選項是從 中按給定順序讀取以下文件: C:\ my.ini C:\ my.cnf C:\ WINDOWS \ my.ini C:\ WINDOWS \ my.cnf C:\ Program FILES \ MySQL的\中號ySQL服務器5.0 \ my.ini的 C:\ Program Files文件\的MySQL \ MySQL服務器 5.0 \ my.cnf中

0

你檢查啓動參數?也許用來啓動服務器的shell腳本或批處理文件會禁用命令行中的引擎。IIRC命令行標誌將勝過.ini設置。