MySQL從MyISAM轉換成InnoDB錯誤與常用解決辦法

由于一些程序的要求,需要MyISAM數據引擎或InnoDB,下面是具體的解決方法,經測試偶爾會出現一些問題。

原來自己用的是為了裝的, 所以在設置database usage(如下圖1)的時候按照discuz官方的建議,選的都是Non-Transactional Database Only(只支持MyISAM數據引擎的非事務數據庫),用MyISAM數據庫,還沒涉及到需要InnoDB,因此打算直接不加載INNODB引擎。后來在做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服務,也沒重啟就重新設置,問題如故;把服務卸載了,重啟后再重新設置,則是啟動服務成功,但是在后面的Applying Security Settings的時候有新的問題,如下圖3。圖2那里的錯誤提示則變成“

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享