壓縮包方式安裝Mysql的教程。
轉(zhuǎn)載請注明出處:https://blog.lzoro.com,謝謝~
前情提要
以前都是解壓縮安裝5.7版本的mysql,剛好最近換了電腦需要重裝mysql,就去官網(wǎng)下載了新版本8.0.12,整理一下安裝步驟。一來備忘,二來如果剛好也能給需要的小伙伴幫助,挺好的,Hia~。
環(huán)境
Windows 10
Mysql 8.0.12
下載
首先,需要下載mysql的壓縮包,傳送門點這里
進(jìn)入下載頁,然后選擇圖中圈出的版本,當(dāng)然,如果你需要調(diào)試和測試套件的版本的話,也可以選擇對應(yīng)鏈接進(jìn)行下載。

點擊了下載按鈕之后,會跳轉(zhuǎn)到下圖頁面,mysql提示登錄,不過下方有一行較小的超鏈接文字https://dev.mysql.com/downloads/mysql/,點擊即可免登陸進(jìn)行下載,然后,就是拼網(wǎng)速的時候了。

什么,已經(jīng)下載完了!網(wǎng)速這么剛的嗎?
那還等什么呢,是時候展示真正的技術(shù)了。
安裝
如果之前有安裝過其他版本的mysql服務(wù),那么需要先進(jìn)行服務(wù)卸載。
進(jìn)入cmd命令行(最好是以管理員模式進(jìn)入),然后輸入以下命令進(jìn)行mysql的服務(wù)刪除。
如果之前未安裝過其他版本的mysql,請忽略下面刪除服務(wù)的步驟。
sc delete mysql
以上命令中的mysql就是我們所要刪除的服務(wù)。
科普一下sc的用法
描述:
SC 是用來與服務(wù)控制管理器和服務(wù)進(jìn)行通信
的命令行程序。
用法:
sc <server> [command] [service name] <option1> <option2>...
<server> 選項的格式為 "\\ServerName"
可通過鍵入以下命令獲取有關(guān)命令的更多幫助: "sc [command]"
命令:
query-----------查詢服務(wù)的狀態(tài),
或枚舉服務(wù)類型的狀態(tài)。
queryex---------查詢服務(wù)的擴(kuò)展?fàn)顟B(tài),
或枚舉服務(wù)類型的狀態(tài)。
start-----------啟動服務(wù)。
pause-----------向服務(wù)發(fā)送 PAUSE 控制請求。
interrogate-----向服務(wù)發(fā)送 INTERROGATE 控制請求。
continue--------向服務(wù)發(fā)送 CONTINUE 控制請求。
stop------------向服務(wù)發(fā)送 STOP 請求。
config----------更改服務(wù)的配置(永久)。
description-----更改服務(wù)的描述。
failure---------更改失敗時服務(wù)執(zhí)行的操作。
failureflag-----更改服務(wù)的失敗操作標(biāo)志。
sidtype---------更改服務(wù)的服務(wù) SID 類型。
privs-----------更改服務(wù)的所需特權(quán)。
managedaccount--更改服務(wù)以將服務(wù)帳戶密碼
標(biāo)記為由 LSA 管理。
qc--------------查詢服務(wù)的配置信息。
qdescription----查詢服務(wù)的描述。
qfailure--------查詢失敗時服務(wù)執(zhí)行的操作。
qfailureflag----查詢服務(wù)的失敗操作標(biāo)志。
qsidtype--------查詢服務(wù)的服務(wù) SID 類型。
qprivs----------查詢服務(wù)的所需特權(quán)。
qtriggerinfo----查詢服務(wù)的觸發(fā)器參數(shù)。
qpreferrednode--查詢服務(wù)的首選 NUMA 節(jié)點。
qmanagedaccount-查詢服務(wù)是否將帳戶
與 LSA 管理的密碼結(jié)合使用。
qprotection-----查詢服務(wù)的進(jìn)程保護(hù)級別。
quserservice----查詢用戶服務(wù)模板的本地實例。
delete ----------(從注冊表中)刪除服務(wù)。
create----------創(chuàng)建服務(wù)(并將其添加到注冊表中)。
control---------向服務(wù)發(fā)送控制。
sdshow----------顯示服務(wù)的安全描述符。
sdset-----------設(shè)置服務(wù)的安全描述符。
showsid---------顯示與任意名稱對應(yīng)的服務(wù) SID 字符串。
triggerinfo-----配置服務(wù)的觸發(fā)器參數(shù)。
preferrednode---設(shè)置服務(wù)的首選 NUMA 節(jié)點。
GetDisplayName--獲取服務(wù)的 DisplayName。
GetKeyName------獲取服務(wù)的 ServiceKeyName。
EnumDepend------枚舉服務(wù)依賴關(guān)系。
以下命令不需要服務(wù)名稱:
sc <server> <command> <option>
boot------------(ok | bad)指示是否應(yīng)將上一次啟動另存為
最近一次已知的正確啟動配置
Lock------------鎖定服務(wù)數(shù)據(jù)庫
QueryLock-------查詢 SCManager 數(shù)據(jù)庫的 LockStatus
示例:
sc start MyService
QUERY 和 QUERYEX 選項:
如果查詢命令帶服務(wù)名稱,將返回
該服務(wù)的狀態(tài)。其他選項不適合這種
情況。如果查詢命令不帶參數(shù)或
帶下列選項之一,將枚舉此服務(wù)。
type= 要枚舉的服務(wù)的類型(driver, service, userservice, all)
(默認(rèn) = service)
state= 要枚舉的服務(wù)的狀態(tài) (inactive, all)
(默認(rèn) = active)
bufsize= 枚舉緩沖區(qū)的大小(以字節(jié)計)
(默認(rèn) = 4096)
ri= 開始枚舉的恢復(fù)索引號
(默認(rèn) = 0)
group= 要枚舉的服務(wù)組
(默認(rèn) = all groups)
語法示例
sc query - 枚舉活動服務(wù)和驅(qū)動程序的狀態(tài)
sc query eventlog - 顯示 eventlog 服務(wù)的狀態(tài)
sc queryex eventlog - 顯示 eventlog 服務(wù)的擴(kuò)展?fàn)顟B(tài)
sc query type= driver - 僅枚舉活動驅(qū)動程序
sc query type= service - 僅枚舉 Win32 服務(wù)
sc query state= all - 枚舉所有服務(wù)和驅(qū)動程序
sc query bufsize= 50 - 枚舉緩沖區(qū)為 50 字節(jié)
sc query ri= 14 - 枚舉時恢復(fù)索引 = 14
sc queryex group= "" - 枚舉不在組內(nèi)的活動服務(wù)
sc query type= interact - 枚舉所有不活動服務(wù)
sc query type= driver group= NDIS - 枚舉所有 NDIS 驅(qū)動程序
正式進(jìn)入主題。
1、mysql壓縮包解壓
將下載完畢后的文件mysql-8.0.12-winx64.zip解壓,并將解壓后的mysql-8.0.12-winx64文件夾放到安裝路徑下,比如格子這里的C:\MyPrograms\。
2、配置環(huán)境變量
右鍵計算機(jī) -> 屬性 -> 高級系統(tǒng)設(shè)置 -> 環(huán)境變量
新建系統(tǒng)變量
變量名:MYSQL_HOME
變量值:C:\MyPrograms\mysql-8.0.12-winx64
修改Path變量,加入
%MYSQL_HOME%\bin
3、指定初始配置
初始化mysql前,可以通過ini文件來指定部分初始配置,比如basedir和datadir等,當(dāng)然,也可以不指定利用默認(rèn)的,參考文檔官方文檔
在mysql的根目錄下,創(chuàng)建mysql.ini文件,加入下面內(nèi)容
[mysqld]
# set basedir to your installation path
basedir=E:/mysql
# set datadir to the location of your data directory
datadir=E:/mydata/data
4、初始化
打開cmd命令行,輸入初始化命令(由于我們配置了環(huán)境變量,所以不需要進(jìn)入mysql的bin目錄)
//生成臨時密碼
mysqld --initialize --console
或者
//生成空密碼
mysqld --initialize-insecure --console
如果選擇臨時密碼,控制臺會有以下輸出,可以看到里面有臨時密碼(temporary password is generated for root@localhost:后面的值,注意去掉空格),請一定要記住,當(dāng)然你如果不想記住也可以,只是需要再折騰一下去重置密碼(騙你的,可以去日志文件中找,略略~)。
2018-08-15T02:55:43.924361Z 0 [System] [MY-013169] [Server] C:\MyPrograms\mysql-8.0.12-winx64\bin\mysqld.exe (mysqld 8.0.12) initializing of server in progress as process 12040
2018-08-15T02:55:55.962035Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: XCeQtsgMO7-F
2018-08-15T02:56:03.261174Z 0 [System] [MY-013170] [Server] C:\MyPrograms\mysql-8.0.12-winx64\bin\mysqld.exe (mysqld 8.0.12) initializing of server has completed
5、安裝Windows服務(wù)
用管理員身份打開CMD命令行,輸入以下命令
//serviceName為服務(wù)名,不輸入默認(rèn)為mysql
mysqld --install [serviceName]
如果看到下面內(nèi)容,則證明服務(wù)安裝成功
Service successfully installed.
6、啟動服務(wù)
命令行還沒關(guān)掉吧?
關(guān)掉了就重開,誰讓你手速這么快。
net start mysql
//以下輸出證明啟動成功
MySQL 服務(wù)正在啟動 ..
MySQL 服務(wù)已經(jīng)啟動成功。
//如果你要關(guān)閉的話
net stop mysql
7、改掉臨時密碼
連接到mysql
//下面-p后面的內(nèi)容就是臨時密碼
mysql -uroot -pXCeQtsgMO7-F
修改密碼
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
大結(jié)局
到這里,壓縮包版本的mysql安裝就已經(jīng)完成了,相比exe/msi的可執(zhí)行文件安裝,zip多了一些步驟,但是更簡潔、更類似于免安裝,我個人比較喜歡這種方式。
總結(jié)幾點:
1、環(huán)境變量是為了在命令行CMD中更加方便使用mysql命令;
2、如果有之前有安裝過其他版本mysql,記得先卸載并刪除服務(wù);
3、安裝完記得登錄并修改密碼,不論是采用空密碼還是臨時密碼;
4、當(dāng)然,命令行終歸是不方便的,現(xiàn)在有很多可視化界面,如:Navicat等。
溜了溜了,如果對你有哪怕是一丟丟幫助的話,無妨給個贊唄~