程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql-5.7.12-winx64安裝的時候無法啟動服務問題

mysql-5.7.12-winx64安裝的時候無法啟動服務問題

編輯:MySQL綜合教程

mysql-5.7.12-winx64安裝的時候無法啟動服務問題


1.從官網下載最新版的mysql-5.7.12-winx64便攜版,解壓到需要安裝的目錄下(我的是解壓在:D:\sw),目錄結構如下:

\\

2.在該目錄下創建一個名為data的空文件夾和一個my.ini文件,目錄結構如下:<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"" alt="\">\

其中my.ini的內容如下(此處basedir和datadir的路徑是我解壓後的安裝路徑,如果你拷貝了下面內容請將地址更換成你自己的路徑):

[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
#設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=D:\\sw\\mysql-5.7.12-winx64
# 設置mysql數據庫的數據的存放目錄
datadir=D:\\sw\\mysql-5.7.12-winx64\\data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB

3.以管理員身份啟動cmd,進入到mysql的bin目錄下,執行mysqld --initialize-inscure (不設置root密碼,建議使用)

4.安裝mysql服務,3執行完後執行mysqld -install

5.這時候就可以啟動服務了:net start mysql

\\

\

這樣我們的服務就成功開啟了。

問題匯總:在之前的開啟服務過程中失敗了很多次,也是從網上各種找問題原因,下面我就介紹一下我遇到的問題,僅供大家參考,如果還有其它問題歡迎提出。

Q1:第一次安裝的時候,按照網上的方法創建了my.ini目錄,當時的文件內容如下:

[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8
[mysqld]
#設置3306端口
port = 3306
# 設置mysql的安裝目錄
basedir=D:\sw\mysql-5.7.12-winx64
# 設置mysql數據庫的數據的存放目錄
datadir=D:\sw\mysql-5.7.12-winx64\data
# 允許最大連接數
max_connections=200
# 服務端使用的字符集默認為8比特編碼的latin1字符集
character-set-server=utf8
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB

看到這裡和我第二步中的my.ini文件內容的區別了麼?沒錯,basedir和datadir的路徑寫法不一樣,“\”和"\\"的區別,這個導致的問題後面會說

然後進入bin目錄下,輸入mysqld -install,會提示安裝成功,繼續啟動服務,執行net start mysql,會發現服務啟動不了,報一下錯誤:服務正在啟動,服務無法啟動,服務沒有報告任何錯誤,請鍵入NET HELPMSG 3534,於是去搜關鍵字,發現很多人說是缺少data目錄,卸載安裝5.6.X的就可以,於是看了一下自己的解壓文件發現確實沒有,但是沒想去卸載安裝,因為安裝別的版本的話這個問題還是存在,下次碰到了還是解決不了啊,如果時版本的問題,官網發布了,那麼多人安裝,有問題肯定能在網上找到的,於是繼續找問題和答案。

繼續百度找mysql如何創建data文件,看到了網友的方法:1在壓縮文件下創建data空文件夾2創建my.ini文件,內容同Q1,3初始化data文件夾,執行mysqld --initialize-inscure (不設置root密碼,建議使用),這時候問題來了:

D:\sw\mysql-5.7.12-winx64\bin>mysqld –initialize-insecure
mysqld: Can"t change dir to 'D: w\mysql-5.7.12-winx64\data\' (Errcode: 2 - No su
ch file or directory)
2016-04-12T02:31:24.980888Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is
deprecated. Please use --explicit_defaults_for_timestamp server option (see doc
umentation for more details).
2016-04-12T02:31:24.980888Z 0 [Warning] Insecure configuration for --secure-file
-priv: Current value does not restrict location of generated files. Consider set
ting it to a valid, non-empty path.
2016-04-12T02:31:24.980888Z 0 [Note] mysqld (mysqld 5.7.12) starting as process
10788 ...
2016-04-12T02:31:24.981888Z 0 [ERROR] Can't find error-message file 'D:\sw\mysql
-5.7.12-winx64\bin\ w\mysql-5.7.12-winx64\share\errmsg.sys'. Check error-message
file location and 'lc-messages-dir' configuration directive.
2016-04-12T02:31:24.982888Z 0 [Warning] Can't create test file D: w\mysql-5.7.12
-winx64\data\PC-20150316207.lower-test
2016-04-12T02:31:24.982888Z 0 [Warning] Can't create test file D: w\mysql-5.7.12
-winx64\data\PC-20150316207.lower-test
2016-04-12T02:31:24.983888Z 0 [ERROR] failed to set datadir to D: w\mysql-5.7.12
-winx64\data\
2016-04-12T02:31:24.984888Z 0 [ERROR] Aborting


2016-04-12T02:31:24.985888Z 0 [Note] Binlog end
2016-04-12T02:31:24.986888Z 0 [Note]

執行完後報這個錯誤,看這個提示Can't change dir to 'D: w\mysql-5.7.12-winx64\data\' (Errcode: 2 - No su
ch file or directory),好像是說當前目錄不存在,而且詭異的是 'D: w\mysql-5.7.12-winx64\data\' 這個東西,data我明明是放在“D: sw\mysql-5.7.12-winx64\data\”下面的,s呢?難道是因為sw文件夾的問題?然後我試著新建一個MySql文件夾,將壓縮包重新解壓到該目錄下,繼續上面的步驟,會發現執行mysqld --initialize-inscure通過了,而且在data目錄下生成了一堆文件:

\

心中竊喜,這下總該成功了吧,然後執行mysqld -install,安裝成功,激動人心的時刻來了,啟動服務,執行net start mysql,然而事與願違:還是報了服務正在啟動,服務無法啟動,服務沒有報告任何錯誤,請鍵入NET HELPMSG 3534

心中一陣沮喪,什麼情況啊……

問題還是沒解決啊,繼續找答案,發現有網友說data目錄下是不是沒有mysql文件夾,於是我去對照了一下5.6.17的發現他的data目錄下有三個文件夾和一堆文件:

\\

按照網友的說法,我將mysql整個文件拷貝到我的data目錄下,繼續執行net start mysql,終於成功啟動了服務。

服務終於啟動了,總是覺得有點不完美,我的data目錄為什麼跟別人的不一樣,為什麼網上那麼多人執行mysqld --initialize-inscure的時候成功了,沒有問題,而我的總是不行呢?說明這個問題還是存在隱患,繼續找答案,關鍵在在於:

mysqld: Can"t change dir to 'D: w\mysql-5.7.12-winx64\data\' (Errcode: 2 - No su
ch file or directory)

這個錯誤應該還是沒有解決的,扒拉了半天,有網友提示了my.ini中basedir和datadir的問題,"\"應該用"\\"代替,於是重新解壓在"D:\sw"(我想驗證是不是目錄問題所以重新解壓到這個下面驗證)下面,修改my.ini,重新按本文開始的步驟執行,完美通過,此時來看data目錄會發現該有的文件都有了:

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved