參照網(wǎng)上MySql 5.6的安裝步驟,安裝MySql服務(wù)后,使用net start mysql命令啟動(dòng)服務(wù)時(shí),報(bào)錯(cuò):
MySQL 服務(wù)正在啟動(dòng) .MySQL 服務(wù)無(wú)法啟動(dòng)。
服務(wù)沒(méi)有報(bào)告任何錯(cuò)誤。
請(qǐng)鍵入 NET HELPMSG 3534 以獲得更多的幫助。
經(jīng)過(guò)查找,找到了解決方法。
方法和步驟如下所示:
1.從官網(wǎng)下載MySQL
http://dev.mysql.com/downloads/mysql/
ZIP Archive版本:mysql-5.7.14-winx64
2.解壓到想安裝到的D:\mysql,生成D:\mysql\mysql-5.7.14-winx64目錄,進(jìn)入該目錄,找到my-defualt.ini,在my-defualt.ini旁邊新增一個(gè)my.ini文件,內(nèi)容為(把里面D:\mysql\mysql-5.7.14-winx64改成你自己的軟件路徑,保存):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
[mysql] # 設(shè)置mysql客戶端默認(rèn)字符集 default - character - set =utf8 [mysqld] #設(shè)置3306端口 port = 3306 # 設(shè)置mysql的安裝目錄 basedir=D:\mysql\mysql-5.7.14-winx64 # 設(shè)置mysql數(shù)據(jù)庫(kù)的數(shù)據(jù)的存放目錄 datadir=D:\mysql\mysql-5.7.14-winx64\data # 允許最大連接數(shù) max_connections=200 # 服務(wù)端使用的字符集默認(rèn)為8比特編碼的latin1字符集 character - set -server=utf8 # 創(chuàng)建新表時(shí)將使用的默認(rèn)存儲(chǔ)引擎 default -storage-engine=INNODB |
3.以管理員身份運(yùn)行cmd.exe
一直cd到d:\mysql\mysql-5.7.14-winx64\bin目錄
輸入命令 mysqld install
提示:Service successfully installed.
安裝以后啟動(dòng)mysql服務(wù)
輸入命令 net start mysql
5.7以上的版本可能會(huì)無(wú)法啟動(dòng),報(bào)錯(cuò):服務(wù)沒(méi)有報(bào)告任何錯(cuò)誤。
輸入命令 mysqld --initialize
正常情況下無(wú)任何提示,自動(dòng)空格一行,即代表初始化成功。
再重新啟動(dòng)服務(wù)就可以開(kāi)起來(lái),原因是5.7安裝文件夾里面缺少data文件夾,initialize以后會(huì)自動(dòng)生成這個(gè)文件夾及其中文件。
4.注意:
1、網(wǎng)上有的說(shuō)法是拷貝其他版本的data目錄,照樣可以啟動(dòng)服務(wù),但是不建議這樣操作,因?yàn)槟銦o(wú)法保證新版本生成的data目錄和老版本的完全一樣。
2、使用mysqld --initialize命令前,不要自己創(chuàng)建data目錄,否則無(wú)法正常生成全部data目錄文件,會(huì)出現(xiàn)如下錯(cuò)誤提示:
D:\mysql\mysql-5.7.14-winx64\bin>mysqld --initialize
2016-08-25T02:26:39.100728Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).2016-08-25T02:26:39.100728Z 0 [ERROR] --initialize specified but the data directory has files in it. Aborting.
2016-08-25T02:26:39.110728Z 0 [ERROR] Aborting
遇到這個(gè)問(wèn)題,就直接刪掉自己創(chuàng)建的data目錄,然后再執(zhí)行mysqld --initialize命令即可。