1. 程式人生 > 程式設計 >MySQL 在 Windows 下安裝教程、避坑指南

MySQL 在 Windows 下安裝教程、避坑指南

MySQL 是一個關係型資料庫管理系統,由瑞典 MySQL AB 公司開發,2008 年被 SUN 公司收購,後 SUN 公司又被 Oracle 公司收購。

一、下載

MySQL 官網 www.mysql.com/

點選 DOWNLOADS 進入下載地址,會看到幾個不同的版本:

  • MySQL Enterprise Edition:企業版(收費)
  • MySQL Cluster CGE:高階叢集版(收費)
  • MySQL Community Edition:社群版(開源免費,但官方不提供技術支援)

通常我們用的都是社群版。點選進入社群版,看到一大堆東西,有點愣住了,不用急,其實點第一個 MySQL Community Server

的下載就可以了。

所以真正的下載地址其實是:dev.mysql.com/downloads/m…

拉到下面,選擇 Windows 系統。

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

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

安裝版是 32 位的,而現在的機器多半是 64 位機,雖然 32 位的程式也可以安裝,但是並不建議。安裝版的安裝也比較容易,所以這裡只講解壓版的安裝。

二、解壓版配置

1、配置環境變數

將安裝包解壓到你要安裝的目錄,將 bin 目錄新增至環境變數。

新增環境變數

2、配置 my.ini

在根目錄下新建一個 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 的初始密碼,如下圖,這個密碼需要儲存下來。

root 密碼

如果命令中不加 --console,則在 cmd 視窗將不顯示日誌資訊。可以到 data 目錄(my.ini 中 datadir 配置的目錄)下找一個 .err 的檔案,也可以檢視日誌資訊。

陷阱 1

可能會報“找不到 MSVCP140.dll”

找不到 MSVCP140.dll

MSVCP140.dll 是 Visual Studio C++ 2015 Redistributable 的組成檔案。

一般出現這個問題,是因為沒有安裝 Visual C++ Redistributable for Visual Studio 2015 所致。這個必須安裝,否則後面服務無法啟動。 下載地址:www.microsoft.com/zh-CN/downl…

如果已安裝,則可以修復一下。

亦可下載一個 MSVCP140.dll,複製到 C:\Windows\System32,執行如下批處理命令註冊 dll

@echo 開始註冊
copy msvcp140.dll %windir%\system32\
regsvr32 %windir%\system32\msvcp140.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';
複製程式碼