Windows?Server?2019部署MySQL?8完整步驟教程
1. 前言
本教程旨在指導用戶在Windows Server 2019操作系統(tǒng)上部署MySQL 8數(shù)據(jù)庫。MySQL是世界上最流行的開源關系型數(shù)據(jù)庫管理系統(tǒng)之一,廣泛應用于各種規(guī)模的應用場景。
1.1 適用環(huán)境
- Windows Server 2019 標準版/數(shù)據(jù)中心版
- 至少2GB內(nèi)存(建議4GB以上)
- 至少10GB可用磁盤空間
- 網(wǎng)絡連接正常
1.2 MySQL 8特性
- 性能提升:新的查詢優(yōu)化器、索引增強
- 安全性增強:默認使用SHA-256密碼認證、角色管理
- 開發(fā)功能:窗口函數(shù)、JSON支持增強、通用表表達式
- 高可用性:InnoDB集群、組復制改進
- 管理工具:MySQL Workbench增強、性能模式
2. 系統(tǒng)環(huán)境準備
2.1 系統(tǒng)更新
- 打開服務器管理器
- 點擊本地服務器
- 點擊Windows Update右側的檢查更新
- 安裝所有可用更新,然后重啟服務器
2.2 關閉或配置Windows Defender防火墻
- 打開服務器管理器
- 點擊本地服務器
- 點擊Windows Defender防火墻右側的啟用或禁用
- 如需啟用防火墻,后續(xù)需要配置允許MySQL端口通過
3. MySQL 8安裝
3.1 下載安裝程序
- 訪問MySQL官方下載頁面:https://dev.mysql.com/downloads/mysql/
- 選擇MySQL Community Server 8.0
- 選擇Windows (x86, 64-bit), ZIP Archive
- 點擊Download按鈕
- 選擇**No thanks, just start my download.**直接下載
3.2 解壓安裝包
- 將下載的ZIP文件解壓到安裝目錄,建議路徑:
d:\Program Files\MySQL - 解壓后目錄結構示例:
d:\Program Files\MySQL\mysql-8.0.33-winx64 - 重命名目錄為更簡潔的名稱(可選):
d:\Program Files\MySQL\MySQL Server 8.0
3.3 配置MySQL環(huán)境變量
- 右鍵點擊此電腦,選擇屬性
- 點擊高級系統(tǒng)設置
- 點擊環(huán)境變量
- 在系統(tǒng)變量中找到Path,點擊編輯
- 點擊新建,添加MySQL的bin目錄路徑:
d:\Program Files\MySQL\MySQL Server 8.0\bin - 點擊確定保存設置
3.4 創(chuàng)建配置文件
- 在MySQL安裝目錄下創(chuàng)建
my.ini配置文件 - 編輯
my.ini文件,添加以下內(nèi)容:
[mysqld] # 設置3306端口 port=3306 # 設置mysql的安裝目錄 basedir=d:\Program Files\MySQL\MySQL Server 8.0 # 設置mysql數(shù)據(jù)庫的數(shù)據(jù)的存放目錄 datadir=d:\Program Files\MySQL\MySQL Server 8.0\Data # 允許最大連接數(shù) max_connections=100 # 允許連接失敗的次數(shù)。這是為了防止有人從該主機試圖攻擊數(shù)據(jù)庫系統(tǒng) max_connect_errors=10 # 服務端使用的字符集默認為UTF8 character-set-server=utf8mb4 # 創(chuàng)建新表時將使用的默認存儲引擎 default-storage-engine=INNODB # 默認使用"mysql_native_password"插件認證 default_authentication_plugin=mysql_native_password [mysql] # 設置mysql客戶端默認字符集 default-character-set=utf8mb4 [client] # 設置mysql客戶端連接服務端時默認使用的端口 port=3306 default-character-set=utf8mb4
3.5 初始化MySQL
以管理員身份打開命令提示符
切換到MySQL的bin目錄:
cd "d:\Program Files\MySQL\MySQL Server 8.0\bin"
執(zhí)行初始化命令:
mysqld --initialize --console
初始化完成后,記錄輸出中的臨時密碼(用于首次登錄):
[Server] A temporary password is generated for root@localhost: xxxxxxxx
3.6 安裝MySQL服務
執(zhí)行服務安裝命令:
mysqld --install MySQL80
安裝成功會提示:
Service successfully installed.
3.7 啟動MySQL服務
執(zhí)行啟動命令:
net start MySQL80
啟動成功會提示:
The MySQL80 service was started successfully.
4. MySQL基本配置
4.1 登錄MySQL
使用臨時密碼登錄MySQL:
mysql -u root -p
輸入初始化時記錄的臨時密碼
4.2 修改root密碼
登錄成功后,執(zhí)行修改密碼命令:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'YourNewPassword123!';
刷新權限:
FLUSH PRIVILEGES;
4.3 創(chuàng)建新用戶
創(chuàng)建新用戶并設置密碼:
CREATE USER 'myuser'@'%' IDENTIFIED BY 'MyPassword123!';
授予用戶所有權限:
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
刷新權限:
FLUSH PRIVILEGES;
4.4 創(chuàng)建數(shù)據(jù)庫
創(chuàng)建數(shù)據(jù)庫:
CREATE DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
查看數(shù)據(jù)庫:
SHOW DATABASES;
4.5 退出MySQL
EXIT;
5. 配置遠程訪問
5.1 配置MySQL允許遠程連接
登錄MySQL:
mysql -u root -p
設置root用戶允許遠程連接:
UPDATE mysql.user SET Host='%' WHERE User='root' AND Host='localhost';
刷新權限:
FLUSH PRIVILEGES;
退出MySQL:
EXIT;
5.2 配置Windows防火墻
- 打開Windows Defender防火墻
- 點擊高級設置
- 選擇入站規(guī)則
- 點擊新建規(guī)則…
- 規(guī)則類型:選擇端口,點擊下一步
- 協(xié)議和端口:選擇TCP,輸入特定本地端口為3306,點擊下一步
- 操作:選擇允許連接,點擊下一步
- 配置文件:選擇適用的網(wǎng)絡配置文件,點擊下一步
- 名稱:輸入規(guī)則名稱(如:MySQL 3306),點擊完成
5.3 測試遠程連接
- 在遠程計算機上安裝MySQL客戶端或使用MySQL Workbench
- 連接到目標服務器:
- Hostname: Windows Server 2019的IP地址
- Port: 3306
- Username: root或創(chuàng)建的新用戶
- Password: 對應的密碼
6. 安裝MySQL Workbench(可選)
6.1 下載MySQL Workbench
- 訪問MySQL Workbench下載頁面:https://dev.mysql.com/downloads/workbench/
- 選擇Windows (x86, 64-bit)
- 點擊Download按鈕
- 選擇**No thanks, just start my download.**直接下載
6.2 安裝MySQL Workbench
- 雙擊運行下載的安裝程序
- 按照安裝向導完成安裝
6.3 使用MySQL Workbench
- 打開MySQL Workbench
- 點擊**+**號添加新連接
- 輸入連接信息:
- Connection Name: 連接名稱(如:Local MySQL)
- Hostname: localhost或127.0.0.1
- Port: 3306
- Username: root
- Password: 點擊**Store in Vault…**保存密碼
- 點擊Test Connection測試連接
- 點擊OK保存連接
7. MySQL服務管理
7.1 啟動/停止/重啟MySQL服務
使用命令提示符(管理員身份):
# 啟動服務 net start MySQL80 # 停止服務 net stop MySQL80 # 重啟服務 net stop MySQL80 && net start MySQL80
使用服務管理工具:
- 按下Win + R,輸入
services.msc,點擊確定 - 找到MySQL80服務
- 右鍵點擊可選擇啟動、停止、重啟等操作
- 按下Win + R,輸入
7.2 設置MySQL服務開機自啟
- 打開服務管理工具
- 找到MySQL80服務
- 右鍵點擊,選擇屬性
- 在啟動類型下拉菜單中選擇自動
- 點擊確定保存設置
8. 數(shù)據(jù)備份與恢復
8.1 使用mysqldump命令備份
- 打開命令提示符
- 執(zhí)行備份命令:
# 備份所有數(shù)據(jù)庫 mysqldump -u root -p --all-databases > C:\backup\mysql_all_backup.sql # 備份指定數(shù)據(jù)庫 mysqldump -u root -p mydatabase > C:\backup\mydatabase_backup.sql # 備份指定數(shù)據(jù)庫的特定表 mysqldump -u root -p mydatabase mytable > C:\backup\mydatabase_mytable_backup.sql
8.2 使用mysql命令恢復
- 確保目標數(shù)據(jù)庫已創(chuàng)建(如果恢復單個數(shù)據(jù)庫)
- 執(zhí)行恢復命令:
# 恢復所有數(shù)據(jù)庫 mysql -u root -p < C:\backup\mysql_all_backup.sql # 恢復指定數(shù)據(jù)庫 mysql -u root -p mydatabase < C:\backup\mydatabase_backup.sql
8.3 使用MySQL Workbench備份與恢復
8.3.1 備份數(shù)據(jù)庫
- 打開MySQL Workbench
- 連接到MySQL服務器
- 點擊Server菜單,選擇Data Export
- 選擇要備份的數(shù)據(jù)庫
- 選擇備份方式(導出到轉儲文件或自我包含文件)
- 設置備份文件路徑
- 點擊Start Export開始備份
8.3.2 恢復數(shù)據(jù)庫
- 打開MySQL Workbench
- 連接到MySQL服務器
- 點擊Server菜單,選擇Data Import
- 選擇導入源(從轉儲文件導入)
- 設置備份文件路徑
- 選擇目標數(shù)據(jù)庫
- 點擊Start Import開始恢復
8.4 自動備份腳本
創(chuàng)建PowerShell備份腳本
mysql_backup.ps1:# MySQL備份腳本 # 配置參數(shù) $MYSQL_BIN = "d:\Program Files\MySQL\MySQL Server 8.0\bin" $BACKUP_DIR = "d:\backup" $DB_USER = "root" $DB_PASS = "YourPassword" $DATE = Get-Date -Format "yyyyMMdd_HHmmss" # 創(chuàng)建備份目錄 if (-not (Test-Path $BACKUP_DIR)) { New-Item -ItemType Directory -Path $BACKUP_DIR | Out-Null } # 備份所有數(shù)據(jù)庫 $BACKUP_FILE = "$BACKUP_DIR\mysql_all_backup_$DATE.sql" & "$MYSQL_BIN\mysqldump.exe" -u $DB_USER -p$DB_PASS --all-databases > $BACKUP_FILE # 刪除7天前的備份 Get-ChildItem -Path $BACKUP_DIR -Filter "*.sql" | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-7)} | Remove-Item Write-Host "MySQL備份完成:$BACKUP_FILE"創(chuàng)建Windows任務計劃程序:
- 打開任務計劃程序
- 點擊創(chuàng)建基本任務…
- 輸入任務名稱(如:MySQL自動備份)
- 設置觸發(fā)器(如:每天凌晨2點)
- 選擇啟動程序作為操作
- 瀏覽選擇
powershell.exe - 在添加參數(shù)中輸入:
-ExecutionPolicy Bypass -File "C:\scripts\mysql_backup.ps1" - 完成任務創(chuàng)建
9. MySQL性能優(yōu)化
9.1 調(diào)整內(nèi)存配置
- 打開
my.ini配置文件 - 修改以下內(nèi)存相關參數(shù):
[mysqld] # 緩沖池大?。ńㄗh為系統(tǒng)內(nèi)存的50-70%) innodb_buffer_pool_size=2G # 緩沖池實例數(shù)量(建議與CPU核心數(shù)相同) innodb_buffer_pool_instances=4 # 日志緩沖區(qū)大小 innodb_log_buffer_size=16M # 每個連接使用的緩沖區(qū)大小 sort_buffer_size=4M read_buffer_size=4M read_rnd_buffer_size=8M join_buffer_size=4M
9.2 調(diào)整連接配置
[mysqld] # 最大連接數(shù) max_connections=200 # 連接超時時間(秒) wait_timeout=28800 interactive_timeout=28800
9.3 調(diào)整InnoDB配置
[mysqld] # 日志文件大小 innodb_log_file_size=512M # 日志文件數(shù)量 innodb_log_files_in_group=2 # 檢查點完成目標 innodb_checkpoint_completion_target=0.9 # 并發(fā)線程數(shù) innodb_thread_concurrency=16
9.4 重啟MySQL服務使配置生效
net stop MySQL80 && net start MySQL80
10. 常見問題與故障排除
10.1 MySQL服務無法啟動
- 檢查
my.ini配置文件是否存在語法錯誤 - 檢查數(shù)據(jù)目錄權限是否正確
- 查看MySQL錯誤日志:
d:\Program Files\MySQL\MySQL Server 8.0\Data\hostname.err - 嘗試重新初始化MySQL:
mysqld --remove MySQL80 rmdir /s /q "d:\Program Files\MySQL\MySQL Server 8.0\Data" mysqld --initialize --console mysqld --install MySQL80 net start MySQL80
10.2 忘記root密碼
停止MySQL服務:
net stop MySQL80
以安全模式啟動MySQL:
mysqld --console --skip-grant-tables --shared-memory
重新打開一個命令提示符,登錄MySQL:
mysql -u root
修改root密碼:
FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword123!';
關閉安全模式的MySQL進程,重新啟動服務:
net start MySQL80
10.3 無法遠程連接MySQL
- 檢查MySQL服務是否正在運行
- 檢查MySQL配置是否允許遠程連接
- 檢查Windows防火墻是否允許3306端口通過
- 檢查網(wǎng)絡連接是否正常
- 嘗試使用telnet測試端口連通性:
telnet 192.168.1.100 3306
10.4 數(shù)據(jù)庫連接過多
檢查當前連接數(shù):
SHOW PROCESSLIST;
終止長時間運行的查詢:
KILL <process_id>;
考慮增加
max_connections參數(shù)
11. 總結
本教程詳細介紹了在Windows Server 2019操作系統(tǒng)上部署MySQL 8數(shù)據(jù)庫的完整過程,包括:
- 系統(tǒng)環(huán)境準備和更新
- MySQL 8的下載和安裝(ZIP方式)
- MySQL環(huán)境變量配置
- 配置文件創(chuàng)建和修改
- 數(shù)據(jù)庫初始化和服務安裝
- 基本的數(shù)據(jù)庫管理操作
- 遠程訪問配置
- MySQL Workbench的安裝和使用
- 數(shù)據(jù)備份與恢復方法
- 服務管理和性能優(yōu)化
- 常見問題與故障排除
通過本教程,用戶可以在Windows Server 2019環(huán)境下成功部署和管理MySQL 8數(shù)據(jù)庫,滿足各種應用場景的需求。MySQL作為一款成熟的開源數(shù)據(jù)庫,在Windows Server 2019環(huán)境下同樣能夠提供穩(wěn)定可靠的服務。
12. 參考資料
到此這篇關于Windows Server 2019部署MySQL 8完整步驟教程的文章就介紹到這了,更多相關Windows Server部署MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL如何從數(shù)據(jù)庫中刪除表中所有數(shù)據(jù)
這篇文章主要介紹了MySQL如何從數(shù)據(jù)庫中刪除表中所有數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
Centos7.5安裝mysql5.7.24二進制包方式部署
這篇文章主要介紹了Centos7.5安裝mysql5.7.24二進制包方式部署,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2018-12-12
CentOS系統(tǒng)中安裝MySQL和開啟MySQL遠程訪問的方法
這篇文章主要介紹了CentOS系統(tǒng)中安裝MySQL和開啟MySQL遠程訪問的方法,包括MySQL的隨機啟動等操作的介紹,需要的朋友可以參考下2016-02-02
MySQL系統(tǒng)庫之performance_schema的實現(xiàn)
performance_schema用于收集和存儲關于數(shù)據(jù)庫性能和資源利用情況的信息,本文主要介紹了MySQL系統(tǒng)庫之performance_schema的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下2023-11-11

