許多開發者在 Windows 環境下安裝 MySQL 時,都會遭遇令人頭痛的「1067 錯誤」——服務無法啟動,甚至在配置階段就無限期卡住。本文記錄一次真實的排錯過程,揭示問題的核心其實在於一個正確的 my.ini 設定檔。
作者嘗試在 D:\MySQL5.0 安裝 MySQL 5.0,卻發現安裝程式在「Configure」步驟無限等待,只能強制結束任務。隨後嘗試啟動服務,即彈出 1067 錯誤。甚至連解除安裝也同樣卡住,必須先結束任務、點選「更改」→「修復」才能順利移除。
網路上有人指出是 SYSTEM 使用者權限未加入導致。檢查發現 D 槽只有 Everyone 權限,而 C 槽有 SYSTEM 讀寫權限。於是改裝到 C:\Program Files,竟然成功了。但為了驗證,卸載後再裝到 C:\ 根目錄卻又失敗;再裝回 Program Files 也不行了。無論如何,Configure 步驟總是死掉。
回想唯一成功的那次,MySQL 目錄下多生成了一個 my.ini。作者從同事電腦複製一份並修改路徑,內容如下:
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[MySQLd]
basedir=d:/MySQL5.0/
#bind-address=127.0.0.1
datadir=d:/MySQL5.0/data
#language=D:/usr/local/MySQL/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=d:/MySQL5.0/bin/MySQLd-nt.exe
user=root
passWord=
接著在 bin 目錄下執行三條命令:
MySQLd-nt -remove
MySQLd-nt -install
net start MySQL
服務順利啟動!問題終於解決。
這個看似微小的設定檔問題,卻耗費了整個上午。記錄下來,希望能幫助其他遇到相同困境的開發者快速脫困。核心教訓:Windows 下 MySQL 5.x 的安裝成敗,往往取決於一個正確配置好路徑的 my.ini 是否存在於安裝目錄或系統目錄中。