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