1. 程式人生 > >MySQL服務啟動:某些服務在未由其他服務或程序使用時將自動停止

MySQL服務啟動:某些服務在未由其他服務或程序使用時將自動停止

隨機生成 發現 before 啟動mysql 美的 操作 嘗試 服務啟動 file

這幾天因為工作需求,需要把MySQL請出來,所以將塵封已久的MySQL進行啟動。可是事與願違,興許是許久沒有訪問MySQL了,MySQL生氣的不理我,並向外拋出一陣陣報錯。
1、其中一個是:Windows無法啟動MySQL57服務(位於本地計算機上)錯誤1067:進程意外終止,報錯如下圖所示。

技術分享圖片

2、緊跟著還有一個報錯:本地計算機上的MySQL服務啟動後停止。某些服務在未由其他服務或程序使用時將自動停止,報錯如下圖所示。

技術分享圖片

3、之後即便我垂死掙紮,在命令行窗口中不斷的重啟MySQL服務,但是仍然沒有戳到痛點,嘗試的步驟有下圖為證。

技術分享圖片


4、隨後想當然的硬上進入MySQL,根本就不可能,只能撞南墻,敗興而歸。

技術分享圖片


5、後來也想過直接通過點擊“我的電腦>管理>服務>MySQL”,收到啟動MySQL,但是絲毫沒有改觀。

技術分享圖片


6、經過一番嘗試之後,還是行不通。無奈之下,不斷的尋找blog,終於找到了一個可行的方法,但是代價也是很大的,基本上是給MySQL洗心革面了。如果小夥伴們的原始MySQL中有重要的數據的話,不建議使用這種方法;如果覺得已經在數據庫中的數據無關緊要或者不小心遇到了這個問題,那就可以大膽的使用這種方法,只不過是重頭再來,具體的解決步驟如下。
首先務必使用管理員權限進入到命令行、務必使用管理員權限進入到命令行、務必使用管理員權限進入到命令行,重要的事情說三遍,不然的話就會出現“發生系統錯誤 5。 拒絕訪問。”這樣的錯誤,如下圖所示。

技術分享圖片


7、之後進入到MySQL安裝目錄下,找到bin目錄,這個過程是必須的。這個過程很簡單,一路上使用cd命令和dir查看目錄文件的命令相互結合,直到進入到bin目錄下為止。一般來說,MySQL的安裝默認路徑是:C:\Program Files\MySQL\MySQL Server 5.7\bin,大家可以做下參考。

技術分享圖片


8、之後進行初始化data目錄。如果在與bin目錄同級的文件夾下沒有data文件夾的話,則創建一個data空目錄,名字務必為data。如果有該目錄的話,記得要清空data目錄下的所有初始文件,就醬紫。

技術分享圖片


9、之後到bin目錄下執行命令(管理員身份打開命令行窗口):mysqld –initialize,如下圖所示。初始化大概需要20秒左右的時間,靜觀其變即可。

技術分享圖片


之後就可以看到MySQL服務順利啟動。
而且在狀態欄的MySQL Notifier中也會彈出提示,如下圖所示,MySQL的狀態變為從停止變為啟動。

技術分享圖片


10、此時通過命令行窗口再次登錄數據庫(命令為:mysql –u root -p)就可以順利進入了,但是輸入你之前的歷史遺留的密碼並不好使了,而且會報錯,報錯為:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES),如下圖所示。

技術分享圖片


這是因為MySQL初始化之後,生成了一個初始密碼,放在了data文件夾下以.err為後綴的文件夾下,如下圖所示。

技術分享圖片


11、此時,通過電腦自帶的記事本打開文件,是不太行得通的,通過sublime text就可以順利打開了,以“password”為搜索項,很快就定位到初始密碼了,如下圖所示。

技術分享圖片


這個密碼是隨機生成的,而且相對復雜,可以直接復雜粘貼到命令行窗口。
12、將初始化密碼進行復制,粘貼到MySQL登錄的密碼中去,如下圖所示。

技術分享圖片

此時可以看到,順利進入到了MySQL。
13、但是直接輸入MySQL的簡單命令之後,發現並不能操作數據庫,會提示報錯:ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.,如下圖所示。

技術分享圖片


14、這個報錯的意思是告訴你重設密碼,此時只需要輸入命令重新設置密碼即可。至於MySQL重設密碼的方法網上有很多,在這裏不展開講述了,小編用的語法是:alter user ‘root‘@‘localhost‘ identified by ‘123456‘;,其中123456是重設的密碼,大家可以自定義的,順利設置完成之後記得刷新權限:flush privileges;,爾後你就可以正常操作數據庫了。該步驟的具體操作過程如下圖所示。

技術分享圖片

至此,問題完美的解決了,希望對日後不慎踩入此坑的小夥伴們有幫助~~

MySQL服務啟動:某些服務在未由其他服務或程序使用時將自動停止