正常使用的MySQL數據庫,有時在重啟電腦后,發(fā)現無法啟動了!或是在開發(fā)時,可能經常會經常頻繁的啟動和停止MySQL服務,有時候會出現“服務正在啟動或停止中,請稍候片刻后再試一次?!边@樣的提示,如下圖所示。
而且,我們查看服務時,也可能會發(fā)現服務中的啟動、停止、運行等全是灰色的,完全無法點擊!
解決過程中,差點重新安裝了數據庫!因為我的mysql數據庫中無配置文件:my.ini。原本以為是此原因!按網上搜索的方法,全都是要重新安裝數據庫,但里面還有重要的數據資料,重裝數據庫肯定是下下策了!于是,走另外一條路,嘗試終于可行了!
而且,連強制的數據庫初始化都無濟于事,而且在任務管理器的進程下也無法找到mysqld的相關進程,不能強制性的結束進程。即便在計算機服務列表中有MySQL57這個服務,但是根本就不存在可用的讓其停止或者啟動的按鈕(全部是灰色禁用的狀態(tài))。。。。
具體的教程如下:
1. 首先以管理員身份打開命令行窗口,注意是管理員身份,不然無權限訪問。
2. 輸入命令“tasklist| findstr "mysql"”,用于查找mysql的殘留進程。果不其然,確實存在mysql的殘留進程,難怪一直提示MySQL服務處于正在啟動或者停止的狀態(tài)中,此時要做的就是殺死MySQL進程。
3. 輸入命令“taskkill/f /t /im mysqld.exe”,就可以將mysql殘留進程全部殺死了,
4. 輸入命令“tasklist| findstr "mysql"”,查看是否還留有有其他的mysql殘留進程,如果還有,則繼續(xù)殺死,直到完全殺死進程為止。
5. 當mysql殘留進程全部結束之后,我們就可以正常啟動MySQL服務了,如下圖所示:
需要注意的是此時還是要以管理員的身份進入命令行窗口。
由上圖,我們可以看到此時便可以順利的訪問數據庫了。
如果不放心的話,可以繼續(xù)測試一下,先停止MySQL服務,然后再次嘗試啟動和進行訪問
可以看到MySQL此時可以做到正常的啟動和停止服務了。
關于數據庫遷移的問題,建議按下列方式處理:
如果將本地的數據庫文件直接拷貝到數據庫中的話,在拷貝之前務必保證MySQL數據庫服務處于停止的狀態(tài),待文件拷貝完成之后,再嘗試啟動MySQL服務,此時便可以順利在數據庫中訪問拷貝過來的數據庫文件了,比直接在數據庫中導入數據要快的多,尤其是導入上億條的大數據,使用這種方法事半功倍。