最近在Windows 2003上的MySQL出現過多次正常運行時無法連接數據庫故障,現象是無法連接數據庫,也無法停止MySQL或重啟MYSQL,重啟機子也沒有效果,由於每次都是草草嘗試各種方法搞定即可,一直沒有深入研究,下次一定把圖和故障現象系統歸納一下。本文先列一下常見的解決方法。
啟動mysql服務出現如下的錯誤信息(MySQL服務無法啟動):
本地計算機無法啟動mysql服務。
錯誤 1067:進程意外終止。
解決方案:
運行
復制代碼 代碼如下:
Cd C:\Program Files\MySQL\MySQL Server 5.1\bin\
C:\Program Files\MySQL\MySQL Server 5.1\bin >mysqld –remove
Service successfully removed
現將其刪除重啟安裝一下
復制代碼 代碼如下:
C:\Program Files\MySQL\MySQL Server 5.1\bin >mysqld –install
Service successfully installed.
C:\Program Files\MySQL\MySQL Server 5.1\bin >net start mysql
MySQL 服務正在啟動 .
MySQL 服務已經啟動成功。
一、確認MYSQL已經配置且正確 重新配置 如果是重新安裝的MYSQL,請確認安裝後的MYSQL經過第一次配置,否則會缺少my.ini文件,配置方法,可以在安裝到最後一步時選擇,現在開始配置MYSQL,或在程序組中運行MYSQL配置向導。配置完成後,要確保my.ini文件中[mysqld]字段下至少有basedir安裝目錄路徑和datadir數據庫路徑。
配置之前,如果原來已經有過MySQL配置,可以先在MYSQL向導中進行執行一次REMOVE INSTANCE,然後再重新配置。
覆蓋數據表 默認的MYSQL數據庫會安裝到My Document下,所以如果您的數據庫目錄在其它路徑下,可以先把MYSQL停止掉,然後把數據庫剪切到其它路徑,然後拷貝相關數據表進入同一目錄即可。
如果MYSQL數據表使用不同的賬戶,還需要在MYSQL創建賬戶,或直接使用原來的MYSQL數據表覆蓋(需確認之前的MSYQL數據表是未損壞的)。
解決無法啟動 遇到無法啟動MYSQL時常見解決方法:
A、先使用命令C:\Program files\mysql\bin\mysqladmin-u root -p shutdown來關閉MYSQL
B、再在cmd命令行下,執行net start mysql啟動mysql。
二、1067錯誤常見解決方法 故障現象 如果在停止MYSQL(net stop mysql)或啟動MYSQL時,出現1067錯誤,錯誤信息“MySql 服務正在停止...系統出錯(A system error has occurred.)...系統發生 1067 錯誤(System error 1067 has occurred.),進程意外終止(The process terminated unexpectedly.)”等。
常見解決方法 如果以前一直運行OK的,請先按照上面的“無法啟動”解決方法執行一次看看。
如果進行過Remove Instance操作,再次重建時後,一定要檢查my.ini文件中的datadir是否已被還原了,如果該地址下數據庫不存在,也將報告1067錯誤,只需要修改成真實的數據庫目錄地址,然後手動啟動即可。
檢查MYSQL目錄權限 檢查my.ini文件中[mysqld]字段下是否有basedir安裝目錄路徑和datadir數據庫路徑,my.ini可能需要出現在兩個地方,MYSQL的安裝目錄和Windows目錄(假設是windows環境)下,都要檢查一下。
有時候刪除%windir%/my.ini文件然後再重新配置也可以解決,再次配置後檢查一下Windir目錄下是否有my.ini文件,有時把安裝目錄下最新的my.ini拷貝過去覆蓋一下也能解決問題。
如果是Linux環境,試一下把mysql.server拷貝至/etc/rc.d/init.d/下,然後再運行chkconfig mysql.server,之後就可以在命令行中設置PATH、使用命令執行mysql啟動。
三、非法關機造成的MYSQL無法啟動問題 如果是因為非法關機等原因導致MYSQL無法啟動或啟動有問題的,最好使用重新安裝的或確認是OK的MYSQL數據表及ibdata1、mysql.pid、ib_logfile0等文件進行覆蓋,天緣試過遇到過多次這種情況,就是原來的MYSQL表有問題了,總是無法啟動,但是更換成新表就可以。
四、重裝MYSQL 發現MYSQL有問題時,最便捷的方法,是先把mysql卸載掉,然後重裝重新配置,具體方法如下:
1、卸載MYSQL,清理掉安裝目錄和Windows目錄下的my.ini文件。
2、檢查任務管理器中是否還有mysql進程,如果有,可以把mysqld.exe殺掉,或者先殺掉再卸載也可以。
3、在cmd命令窗口,執行:sc delete mysql,該命令是清理注冊服務命令。
3. 重裝 mysql
如果是安全設置以後出現這個問題,可能是因為mysql以低權限運行的時候因為密碼策略等問題導致,大家看惡意將mysql的啟動用戶更下下密碼,然後在服務項裡設置下即可。