一種Win10專業版環境下MySQL8啓動服務失敗問題的解決方案

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

正文:

1.錯誤來源

    吾於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

2.爲何容易犯錯

    犯錯緣由:普通人對於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是幹嗎用的我還不太清除),這三個一旦出錯,就容易出現上面的錯誤信息。

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.解決問題方案詳細步驟

    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目錄反斜槓修改過來,不修改的話好像須要轉義,即   \\

其餘地方我也修改了,由於不知道修改的對不對,就不貼出來了,怕誤導了你們;總而言之最後服務啓動時沒問題。

4.2鍵入命令行命令

修改完成後,在bin目錄打開powershell(在bin目錄空白處按住shift鼠標右擊),打開後鍵入命令 mysqld -install,在鍵入mysqld --initialize 在鍵入net start mysql  以下:

圖3 - 成功啓動mysql服務

5.總結

    其中問題的根源所在是配置文件的修改和書寫,在下安裝的是mysql8.0,若是你們8.0也遇到一樣的問題,不妨按照上面所說的步驟試一試,也許就成功了呢! 這裏也須要注意下,powershell中請儘可能以管理員身份打開,否則容易報錯,在安裝服務的時候若是不是管理員身份就會報access denied的錯誤等。

相關文章
相關標籤/搜索