后來在做WordPress,一開始還不知道原來WordPress用的是InnoDB數據引擎,于是在原來的數據庫里面就建了一個數據庫,一開始也沒發覺問題,安裝,導入sql,都沒問題,當時也沒多想。直到這幾天因為又要裝多一個WordPress,用phpmyadmin訪問數據庫多一點,問題來了。老是一訪問WordPress的數據庫,就彈出錯誤提示“Mysqld-nt.exe應用程序錯誤:“0x005346c4”指令引用的“0x00786000”內存,該內存不能為讀...”,然后就MySQL服務也停了,登陸不了,整個數據庫都訪問不了。

圖1 設置數據庫類型
糾結了挺久,也忘了是看到什么文章觸發了靈感,反正后來才知道原來是數據引擎不同惹的禍。于是就想到重新運行次設置向導,把數據庫類型改成支持InnoDB引擎的。馬上行動,在向導里設置數據庫類型(也就是圖1的database usage)那里,設置成第二項,還在后面的InnoDB Tablespace Settings里把InnoDB數據文件設置放在D:/MySQL InnoDB Datafiles目錄里。但是在最后execute執行的時候,卻老是在Start Service那里出問題,如下圖2。

圖2 Start service出錯
想直接到services.msc里面啟動服務,也不行。錯誤提示內容為:“在 本地計算機 無法啟動mysql服務 錯誤1067:進程意外中止。”
按照網上的某些做法,卸載了MySQL服務,也沒重啟就重新設置,問題如故;把服務卸載了,重啟后再重新設置,則是啟動服務成功,但是在后面的Applying Security Settings的時候有新的問題,如下圖3。圖2那里的錯誤提示則變成“ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)", 說明MySQL還是沒有啟動,或者啟動過,出錯又關了。

圖3
順便提一下,在MySQL5里(其他版本的我不知道)每運行一次設置向導,只要按了execute執行,都會在MySQL5的安裝目錄下自動生成一個原來的MySQL的設置文件my.ini的備份bak文件。并且將以修改的時間命名。因此如果設置出了問題,可以從備份文件恢復。
后來還是在錯誤日志里找到思路。錯誤日志就是放在 MySQL5安裝目錄/Data 目錄里的那個以你的計算機名命名的.err文件。
首先我找到以下一段:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 52428800 bytes
新聞熱點
疑難解答