我認為導致這個問題的原因可能不止一種,所以搜集了網上一些朋友對此問題的解決供大家參考,希望能你有所協助。 一、
1、開啟my.ini檔案,找到default-storage-engine=InnoDB這一行,把它改成default-storage-engine=MyISAM。
2、刪除在MySQL安裝目錄下的Data目錄中的ib_logfile0和ib_logfile1
3。找到在配置MySQL伺服器時指定的InfoDB目錄刪除掉ibdata1
根據my.ini檔案中:
#*** INNODB Specific options ***
innodb_data_home_dir="D:/"。
4。重新啟動MySQL的Service
根據我自己的實踐,只要進行第三步就能解決問題。
二、
err檔案內容:
090417 9:02:55 InnoDB: Error: unable to create temporary file; errno: 2
090417 9:02:55 [ERROR] Plugin 'InnoDB' init function returned error.
090417 9:02:55 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
090417 9:02:55 [ERROR] Unknown/unsupported table type: INNODB
090417 9:02:55 [ERROR] Aborting
090417 9:02:55 [Warning] Forcing shutdown of 1 plugins
090417 9:02:55 [Note] MySQL: Shutdown complete
經過一翻Google,找出了無法啟動的原因:MySQL在安裝的時候不會自動初始tmpdir(臨時檔案目錄),所以要在設定檔my.ini中添加如下內容:
[mysqld]
#自己指定的臨時檔案目錄
tmpdir="D:/MySQL/MySQL Server 5.1/Temp"
再次啟動MySQL一切正常,在Temp檔案夾下產生了一些*.tmp的臨時檔案。
最後還是存在一些疑問:如果是由於沒有初始化tmpdir,為什麼在我第一次安裝的時候也沒有初始化,但也沒有出現這樣的問題?
三、
以前手動安裝MySQL5.0.16的windows service時很順利,昨晚為5.0.83安裝service時,總是提示1067的錯誤。網上有人說把my.ini放到C:\WINDOWS下就可以了,但我遇到的情況是問題仍然沒有解決。我的解決辦法是將參數中的--defaults-file用--defaults-extra-file取代,如下:
mysqld --install MySQL --defaults-file=E:/mysql-5.0.83-win32/my.ini
改為
mysqld --install MySQL --defaults-extra-file=E:/mysql-5.0.83-win32/my.ini
執行mysqld --verbose --help能看到mysqld的用法,其中就有這兩個參數的說明。
根據我自己的實踐,引起這個問題最大的可能性是資料表格儲存體引擎(Engine,簡而言之,儲存引擎就是指表的類型,即Table
Type
)引起的。MySQL資料庫支援的資料表格儲存體引擎有多種,可以用命令:show engines進行查看,在MySQL的設定檔my.ini中可以也看到(預設的是MyISAM):
# The default storage engine that will be used when create new tables when
default-storage-engine=MyISAM。
常用的儲存引擎還有InnoDB,InnoDB有多種優點,InnoDB給MySQL的表提供了事務、復原、崩潰修複能力、多版本並發控制的事務安全.同時,InnoDB也是MySQL上第一個提供外鍵約束的引擎,而且InnoDB儲存引擎對交易處理的能力也是MySQL其他儲存引擎所無法與之比擬的。
InnoDB與MyISAM的區別:
以InnoDB儲存引擎儲存的表,儲存表結構的.frm與儲存的表資料檔案(ibdata1)是分開存放的,儲存表資料的檔案位置可以通過修改my.ini檔案自行設定:
#*** INNODB Specific options ***
innodb_data_home_dir="D:/"
以MyISAM儲存引擎儲存的表,一共包括3個檔案:.frm(儲存表的結構)檔案,.MYD(MYouData的縮寫,儲存表的資料)檔案,.MYI(MYIndex的縮寫,儲存表的索引),這個三個檔案同時存放在MySQL資料庫安裝時存放資料的目錄下,如F:\ProgramData\MySQL\MySQL Server 5.1\data\Databasename中。
另外,通過對這次問題的解決,我認識到了查看錯誤記錄檔的重要性,當遇到問題的時候,我們首先想到的應該是去查看錯誤記錄檔,而不是不加思索去Google或者去baidu,其實從錯誤記錄檔中我們能得到真正造成問題的原因,對症下藥,才能藥到病除。MySQL的錯誤記錄檔(.err)位於F:\ProgramData\MySQL\MySQL
Server 5.1\data目錄下,檔案名稱一般為你的電腦名稱。