更新記錄
2022年4月16日:本文遷移自Panda666原博客,原發布時間:2021年7月10日。
2022年4月16日:更新MySQL下載鏈接。
一、說明與准備工作
根據MySQL官網提供的安裝MySQL的方式有2種:
- 通過官方msi安裝包安裝,支持離線安裝和在線安裝。
- 通過官方壓縮包解壓安裝。
官方msi安裝包方式安裝直接點擊exe,跟着引導安裝即可。下面使用官方提供的壓縮包進行安裝MySQL。安裝過程中使用的軟件版本信息:
- 操作系統版本:Windows Server 2019 Datacenter 1809版本。您如果沒有Windows Server 2019,可以從微軟官方下載評估版本。
- MySQL版本: MySQL 8.0.26 x64,您也可以從其他地方下載MySQL,比如:登錄Oracle從官方下載商業版本。
- 命令行工具:Powershell版本 5.1.17763.1971。Windows Server 2019自帶的。
- 測試使用的虛擬機:VMware Workstation 16 Pro。
二、開始配置
首先確保您的Windows Server 2019 可以正常運行,這里不展示如何安裝和運行Windows Server 2019 。
切換到Program Files下
cd 'C:\Program Files'
新建文件夾用於存放MySQL程序
New-Item -ItemType Directory "mysql"
cd .\mysql
開始下載MySQL程序
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
Invoke-WebRequest -uri "https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-8.0/mysql-8.0.26-winx64.zip" -OutFile "mysql-8.0.26-winx64.zip"
驗證md5是否正確,通過對比,MD5正確
Get-FileHash "./mysql-8.0.26-winx64.zip" -Algorithm MD5| Format-List
解壓壓縮包
Expand-Archive -Path ".\mysql-8.0.26-winx64.zip" -DestinationPath ./
進入具體版本的mysql的bin目錄
cd .\mysql-8.0.26-winx64\bin
執行安裝命令
./mysqld.exe --initialize --console
#指定自定義數據存放目錄
#./mysqld.exe --initialize --console --datadir=./pandaData
#指定自定義配置文件
#./mysqld.exe --initialize --console --datadir=../pandaData --defaults-file=C:\my.ini
注意:此時您可以新建一個MySQL自定義配置文件,比如:C:/panda666.ini,在安裝中使用,我在文章末尾放置了一份配置文件。
注意:這時候命令行會提示安裝信息,並顯示默認root用戶密碼,請保存該密碼,后面需要使用,比如:
將mysql安裝為Windows的服務
./mysqld.exe -install
啟動mysql服務
net start mysql
登陸數據庫,輸入剛剛默認初始化的密碼即可
./mysql.exe -u root -p
修改root用戶密碼
use mysql;
alter user 'root'@'localhost' identified by '密碼';
add user 'root'@'*' identified by '密碼';
UPDATE User SET Host = '%' WHERE 1;
flush privileges;
commit;
停止MySQL服務
net stop mysqld
或者
sc stop mysqld
刪除MySQL服務(需先停止服務)
sc delete mysqld
#或者
mysqld -remove
三、配置文件
panda666.ini
[mysqld]
# 設置mysql的安裝目錄,也就是剛才我們解壓的目錄
basedir=C:/MySQL-8.0.23-winx64
# 設置mysql數據庫的數據的存放目錄
# datadir=C:/mysql-8.0.23-winx64/data
# 設置默認使用的端口
port=3306
# 允許最大連接數
max_connections=200
# 允許連接失敗的次數。這是為了防止有人試圖攻擊數據庫
max_connect_errors=10
# 服務端使用的字符集
character-set-server=utf8mb4
# 數據庫字符集對應一些排序等規則使用的字符集
collation-server=utf8mb4_general_ci
# 創建新表時將使用的默認存儲引擎
default-storage-engine=INNODB
# 默認使用“mysql_native_password”插件作為認證加密方式
# MySQL8.0默認認證加密方式為caching_sha2_password
default_authentication_plugin=mysql_native_password
[mysql]
# 設置mysql客戶端默認字符集
default-character-set=utf8mb4
[client]
default-character-set=utf8mb4
port=3306