45IT.COM- 電腦學習從此開始!
DIY硬件教程攢機經驗裝機配置
設計Photoshop網頁設計特效
系統注冊表DOS系統命令其它
存儲主板顯卡外設鍵鼠內存
維修顯卡CPU內存打印機
WinXPVistaWin7unix/linux
CPU光驅電源/散熱顯示器其它
修技主板硬盤鍵鼠顯示器光驅
辦公ExcelWordPowerPointWPS
編程數據庫CSS腳本PHP
網絡局域網QQ服務器
軟件網絡系統圖像安全
頁面導航: 首頁 > 電腦學院 > 服務器技術 >

在windows平臺下MySql啟動時的1067錯誤的解決方法及反思

電腦軟硬件應用網 45IT.COM 時間:2016-08-19 09:50 作者:tfy1332
我認為導致這個問題的原因可能不止一種,所以搜集了網上一些朋友對此問題的解決供大家參考,希望能你有所幫助。 一、 1、打開my.ini文件,找到default-storage-engine=InnoDB這一行,把它改成default-storage-engin
我認為導致這個問題的原因可能不止一種,所以搜集了網上一些朋友對此問題的解決供大家參考,希望能你有所幫助。
一、

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目錄下,文件名一般為你的計算機名。

頂一下
(1)
100%
踩一下
(0)
0%
------分隔線----------------------------
發表評論
請自覺遵守互聯網相關的政策法規,嚴禁發布色情、暴力、反動的言論。
評價:
表情:
驗證碼:點擊我更換圖片
推薦知識
女校体操队返水