MySQL 在 Windows 下安裝教程、避坑指南
- 2019 年 11 月 21 日
- 筆記
MySQL 是一個關係型資料庫管理系統,由瑞典 MySQL AB 公司開發,2008 年被 SUN 公司收購,後 SUN 公司又被 Oracle 公司收購。
一、下載
MySQL 官網 https://www.mysql.com/
點擊 DOWNLOADS
進入下載地址,會看到幾個不同的版本:
- MySQL Enterprise Edition:企業版(收費)
- MySQL Cluster CGE:高級集群版(收費)
- MySQL Community Edition:社區版(開源免費,但官方不提供技術支援)
通常我們用的都是社區版。點擊進入社區版,看到一大堆東西,有點愣住了,不用急,其實點第一個 MySQL Community Server
的下載就可以了。
所以真正的下載地址其實是:https://dev.mysql.com/downloads/mysql/
拉到下面,選擇 Windows 系統。

這裡提供安裝版和解壓版,安裝版是 32 位的(當然 64 位系統下也能安裝),解壓版是 64 位的。

點擊 Download
後會跳轉到如下頁面,這是叫你註冊/登錄的,不理它,點擊左下角的 No thanks, just start my download.
開始下載。

安裝版是 32 位的,而現在的機器多半是 64 位機,雖然 32 位的程式也可以安裝,但是並不建議。安裝版的安裝也比較容易,所以這裡只講解壓版的安裝。
二、解壓版配置
1、配置環境變數
將安裝包解壓到你要安裝的目錄,將 bin
目錄添加至環境變數。

2、配置 my.ini
在根目錄下新建一個 my.ini
文件。

在 my.ini
中添加如下配置:
[mysqld] ; 設置3306埠 port=3306 ; 設置mysql的安裝目錄 basedir=C:\gl\SQL\mysql-8.0.18-winx64 ; 設置mysql資料庫的數據的存放目錄 datadir=C:\gl\SQL\mysql-data ; 允許最大連接數 max_connections=200 ; 允許連接失敗的次數。這是為了防止有人從該主機試圖攻擊資料庫系統 max_connect_errors=10 ; 服務端使用的字符集默認為UTF8 character-set-server=utf8 ; 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB ; 默認使用「mysql_native_password」插件認證 default_authentication_plugin=mysql_native_password [mysql] ; 設置mysql客戶端默認字符集 default-character-set=utf8 [client] ; 設置mysql客戶端連接服務端時默認使用的埠 port=3306 default-character-set=utf8
注意:basedir 和 datadir 要改成你自己的目錄。
陷阱:
default_authentication_plugin=mysql_native_password
這一句必須要加上,否則可能導致 root 的初始密碼無法登陸。
3、初始化資料庫
以管理員身份 運行 cmd,切換至安裝目錄的 bin 目錄下,輸入如下命令:
mysqld --initialize --console
默認的服務名就是 mysql
,也可以指定服務名
mysqld --initialize --console 服務名
一般是不會去指定服務名的,但是如果你的電腦上需要安裝多個 MySQL 服務,就可以用不同的名字區分。
執行成功後,會顯示 root
的初始密碼,如下圖,這個密碼需要保存下來。

如果命令中不加 --console
,則在 cmd 窗口將不顯示日誌資訊。可以到 data 目錄(my.ini 中 datadir 配置的目錄)下找一個 .err 的文件,也可以查看日誌資訊。
陷阱 1
可能會報「找不到 MSVCP140.dll」

MSVCP140.dll 是 Visual Studio C++ 2015 Redistributable 的組成文件。
一般出現這個問題,是因為沒有安裝 Visual C++ Redistributable for Visual Studio 2015 所致。這個必須安裝,否則後面服務無法啟動。 下載地址:https://www.microsoft.com/zh-CN/download/details.aspx?id=48145
如果已安裝,則可以修復一下。
亦可下載一個 MSVCP140.dll,複製到 C:WindowsSystem32
,運行如下批處理命令註冊 dll
@echo 開始註冊 copy msvcp140.dll %windir%system32 regsvr32 %windir%system32msvcp140.dll /s @echo msvcp140.dll註冊成功 @pause
註冊成功之後再運行上述 MySQL 命令,就可以正常初始化資料庫了。當然不建議這麼做。
陷阱 2
執行完成之後,仔細查看輸出的資訊,可能會有如下警告:
'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
utf 8 目前是字符集 UTF8MB3 的別名,在將來的版本中將被 UTF8MB4 替換。請考慮使用 UTF8MB4,以便明確無誤。
如果出現的話,我們只需將 my.ini 文件中的 utf8 替換成 UTF8MB4。
3.2、安裝服務
安裝服務:
mysqld -install
啟動服務:
net start mysql
如果上一步中你指定了另外的服務名,將 mysql
改為你指定的服務名。
登錄資料庫:
mysql -u root -p
這時提示需要輸入密碼,就是前文讓你保存的密碼。
登錄成功後顯示如下:

修改密碼: 執行以下語句,即可將密碼改為 root。
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
