起因: 上周安裝完mysql後,成功新建了資料庫,一切都是正常的,於是就先擱置一旁。今天周一過來,卻突然發現無法連接mysql了。 過程: 第一反應是服務沒有啟動,畢竟重啟了電腦,說不定是服務沒有自動啟動,於是打開了服務管理器,卻發現沒有mysql對應的服務。既然沒有,那我就自己手動創建一個,找到m ...
起因:
上周安裝完mysql後,成功新建了資料庫,一切都是正常的,於是就先擱置一旁。今天周一過來,卻突然發現無法連接mysql了。
過程:
第一反應是服務沒有啟動,畢竟重啟了電腦,說不定是服務沒有自動啟動,於是打開了服務管理器,卻發現沒有mysql對應的服務。既然沒有,那我就自己手動創建一個,找到mysql的安裝目錄,我的是在C:\Program Files\MySQL\MySQL Server 5.7\bin下,在此目錄下以管理員身份打開cmd,輸入mysqld -install MySQL57,其中的MySQL57是自定義服務名,回車即可:
然後在服務管理器一刷新,就能看到新建的服務了,右鍵啟動,結果沒反應,那就是啟動失敗了。
換一種方式啟動,在system32下輸入net start MySQL57(下圖mysql應換成MySQL57),顯示無法啟動,也沒有報告任何錯誤,那就再深入探究一下。
既然窗體沒有看到錯誤報告,那就看看有沒有日誌生成,日誌的記錄位置存放在配置文件中,那麼首先用Everything找到my.ini,我的存放在C:\ProgramData\MySQL\MySQL Server 5.7\my.ini
實際上錯誤日誌就在my.ini同目錄下的Data文件夾中,找到尾碼名為.err的文件,打開,發現沒有今天的日誌,最後一條記錄還是上周的。
既然此路不通,那就另尋他路。直接啟動mysql試試,以管理員許可權打開cmd,進入MySQL安裝目錄bin下,執行mysqld --console
這次就很明顯看到,是因為在安裝目錄下沒有找到data文件夾導致的。查詢配置文件,是可以看到有指定datadir=C:/ProgramData/MySQL/MySQL Server 5.7/Data,這個路徑並不在安裝目錄下,那麼很明顯就是MySQL啟動的時候,配置文件沒有生效,所以它就去尋找預設的Data路徑。
my.ini配置文件是之前安裝的時候自動生成的,但生成的位置卻不在安裝目錄下,我尋思著是不是得給它換個位置。於是將my.ini拷到安裝目錄下。
再執行mysqld --console,果然成功。
關掉cmd視窗,再去服務管理器右鍵啟動服務,也成功了。
用HeiDiSQL測試了一下,又能連接資料庫了。到此結束,完美撒花。
結語:
懶得寫。
本文來自博客園,作者:MaQaQ,轉載請註明原文鏈接:https://www.cnblogs.com/magicMaQaQ/p/17712264.html