PS C:\Program Files\mysql-8.0.16-winx64\bin> net start mysql MySQL 服務正在啓動 .. MySQL 服務沒法啓動。 服務沒有報告任何錯誤。 請鍵入 NET HELPMSG 3534 以得到更多的幫助。
這...是個使人頭疼的問題。總而言之,解決方案也是亂七八糟的。有的成功了,有的失敗了。html
我先說好:如下內容是本人解決問題的方案,不必定適用於你們的,僅僅提供解決問題的思路。mysql
===================================================================sql
在windows中安裝MySQL有兩種方案,一種是官方提供的MySQL installer,另外一種則是noinstall模式,noinstall模式提供zip壓縮包,解壓以後輸入幾個命令配個環境變量便能使用。對於追求方便和對MySQL不甚理解的用戶多采用installer進行安裝。而nointstall模式安裝方法則對用戶的技術要求高一些。在文章的如下內容中將分享一種在win10下解決MySQL8.0安裝失敗時的解決方案。shell
關鍵字:windows10;MySQL8.0;MySQL服務沒法啓動;MySQL沒有報告任何錯誤;windows
吾於MySQL官網下載MySQL8的zip版本:服務器
連接:https://dev.mysql.com/downloads/mysql/測試
下載後,直接解壓到桌面,並複製至目錄:C:\Program Files\mysql-8.0.16-winx64 ,隨後將bin目錄添加到系統變量path中,並直接按win+x鍵以管理員身份打開windows powershell,而後輸入mysqld -install提示服務安裝成功,隨後net start mysql想要啓動服務,卻報了個錯:spa
圖1 - MySQL啓動報錯信息命令行
以往我也遇到過不少次該錯誤,每次模模糊糊混過去了並無記錄如何解決的方案,更沒有深究其中原理。正好在這篇文章中來刨一刨該問題的根。3d
犯錯緣由:普通人對於MySQL的理解即是將MySQL下載完成後,安裝到服務中並啓動服務便能使用了。卻不知MySQL在安裝的過程當中還有幾個關鍵步驟須要用戶手動解決。每每是忽略了這些關鍵步驟,因此一次次地出現一些不可預知的錯誤,這些問題竟令咱們一籌莫展。
windows中 noinstall MySQL安裝的關鍵步驟
圖2 - MySQL官方文檔中關於noinstall zip Arch安裝的步驟
簡而言之:
1.解壓 2.建立修改配置文件 3.選擇服務器類型(參考) 4.初始化Data目錄 5.第一次啓動 6.從命令行啓動 7.環境變量添加 8.把MySQL加入到windows服務中去 9.測試
其中,最容易是咱們犯糊塗的就是2,4,5等步驟(3是幹嗎用的我還不太清除),這三個一旦出錯,就容易出現上面的錯誤信息。
要避免這個錯誤,咱們能夠直接就事論事,如何解決建立修改配置文件、初始化Data目錄、第一次啓動中所遇到的問題。
配置文件的書寫:在mysql根目錄下建立my.ini,在啓動書寫[mysql]節點的配置,[mysqld]節點配置,參考,而我從網上也獲得一些謠言:8.0配置在bin目錄下的mysql_config.pl中書寫,而不用my.conf和my.ini了,然而我在官網並無發現有這種說話。但是事實是,我書寫了my.ini而後嘗試按照步驟來啓動後,仍然出現服務沒法啓動的情況,先不說網上這哥們兒說的是否有根據(我不清楚),反正按照他說的沒什麼毛病。總之什麼地方確定出問題了。我也是修改bin目錄下的mysql_config.pl來解決的。
初始化data目錄(應該先修改配置文件):注意,首先切換到bin目錄,甭管你配置沒配置環境變量(網上前輩這麼說的,我也是這麼作的,引用),而後執行 mysqld -initialize,靜候片刻,在mysql根目錄下出現data文件夾便可。
最後,在鍵入mysqld -install安裝服務(若是服務有問題,mysqld -remove能夠移除服務)。
最最後,鍵入net start mysql啓動服務。服務名在 任務管理器--服務 中能夠查看。
4.1修改配置文件
將下載下來的zip解壓後拷貝到某個目錄;而後配置環境變量(可選);接着修改bin目錄下的文件mysql_config.pl,使用notepad++打開,詳細修改內容請參照:
my $ldata = 'C:/Program Files/mysql-8.0.16-winx64/data'; my $execdir = 'C:/Program Files/mysql-8.0.16-winx64/bin'; my $bindir = 'C:/Program Files/mysql-8.0.16-winx64/bin';
我是看到啓動有跟windows目錄相關的就改爲我本身的目錄了,這些目錄就包含根目錄 bin目錄 data目錄等。data此時可能沒有建立,由於須要mysqld -initialize來建立。
這裏須要注意windows目錄反斜槓修改過來,不修改的話好像須要轉義,即 \\
其餘地方我也修改了,由於不知道修改的對不對,就不貼出來了,怕誤導了你們;總而言之最後服務啓動時沒問題。
修改完成後,在bin目錄打開powershell(在bin目錄空白處按住shift鼠標右擊),打開後鍵入命令 mysqld -install,在鍵入mysqld --initialize 在鍵入net start mysql 以下:
圖3 - 成功啓動mysql服務
其中問題的根源所在是配置文件的修改和書寫,在下安裝的是mysql8.0,若是你們8.0也遇到一樣的問題,不妨按照上面所說的步驟試一試,也許就成功了呢! 這裏也須要注意下,powershell中請儘可能以管理員身份打開,否則容易報錯,在安裝服務的時候若是不是管理員身份就會報access denied的錯誤等。