1. 硬件要求
在Windows 2019上安装MySQL 8.4的硬件要求如下:更多学习教程www.fgedu.net.cn
– CPU:至少4核,推荐8核或以上
– 内存:至少16GB,推荐32GB或以上
– 磁盘空间:至少100GB,推荐200GB或以上
– 网络:千兆网络接口,推荐万兆
– 存储:推荐使用SSD以获得最佳性能
2. 操作系统准备
在安装MySQL 8.4之前,需要对Windows 2019进行以下准备:
# 打开Windows Update,检查并安装所有更新
# 2. 关闭或配置防火墙
# 控制面板 -> 系统和安全 -> Windows Defender 防火墙 -> 允许程序通过防火墙
# 允许MySQL的端口(默认3306)通过防火墙
# 3. 检查系统环境变量
# 右键点击”此电脑” -> “属性” -> “高级系统设置” -> “环境变量”
# 确保PATH变量包含系统必要的路径
# 4. 安装必要的依赖
# Windows 2019通常已经包含了MySQL 8.4所需的依赖
3. 下载MySQL 8.4
从MySQL官网下载适合Windows 2019的MySQL 8.4安装包:
# 选择Windows (x86, 64-bit), MSI Installer
# 下载文件名示例:mysql-installer-community-8.4.0.0.msi
4. 安装MySQL 8.4
按照以下步骤安装MySQL 8.4:
# 2. 选择安装类型
# 推荐选择”Custom”自定义安装,以便选择需要的组件
# 3. 选择安装组件
# 至少选择:
# – MySQL Server 8.4
# – MySQL Workbench (可选,用于图形化管理)
# – MySQL Shell (可选,用于命令行管理)
# – MySQL Router (可选,用于高可用配置)
# 4. 设置安装路径
# 默认路径:C:\Program Files\MySQL\MySQL Server 8.4
# 建议保持默认路径
# 5. 配置MySQL Server
# – 端口:默认3306
# – 服务名称:MySQL84
# – 启动类型:自动
# – 身份验证方法:推荐使用”Use Strong Password Encryption for Authentication”
# 6. 设置root密码
# 输入并确认root用户密码
# 建议使用强密码,包含字母、数字和特殊字符
# 7. 完成安装
# 点击”Execute”执行安装,等待安装完成
5. 配置MySQL
安装完成后,需要进行以下配置:
# 位置:C:\Program Files\MySQL\MySQL Server 8.4\my.ini
# 2. 配置示例
[mysqld]
# 基础配置
basedir=C:/Program Files/MySQL/MySQL Server 8.4
datadir=C:/ProgramData/MySQL/MySQL Server 8.4/Data
port=3306
server_id=1
# 字符集配置
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 性能配置
max_connections=3000
innodb_buffer_pool_size=8G
innodb_log_file_size=1G
innodb_flush_log_at_trx_commit=2
innodb_buffer_pool_instances=8
innodb_parallel_read_threads=4
# 安全配置
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
# 二进制日志配置
log-bin=mysql-bin
binlog_format=ROW
expire_logs_days=7
# 8.4新特性配置
transaction_write_set_extraction=XXHASH64
loose-group_replication_group_name=”aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa”
loose-group_replication_start_on_boot=off
loose-group_replication_local_address=”127.0.0.1:33061″
loose-group_replication_group_seeds=”127.0.0.1:33061″
loose-group_replication_bootstrap_group=off
6. 服务管理
MySQL 8.4在Windows 2019上的服务管理:
net start MySQL84
# 停止MySQL服务
net stop MySQL84
# 重启MySQL服务
net stop MySQL84
net start MySQL84
# 查看服务状态
sc query MySQL84
# 设置服务自动启动
sc config MySQL84 start= auto
7. 性能调优
针对Windows 2019环境的MySQL 8.4性能调优:
– 根据服务器内存大小调整innodb_buffer_pool_size(建议为内存的50-70%)
– 调整innodb_log_file_size以提高写入性能
– 启用innodb_buffer_pool_instances以提高并发性能
– 优化查询语句,添加适当的索引
– 定期优化表结构和分析表
– 考虑使用SSD存储以提高I/O性能
– 启用innodb_parallel_read_threads以提高并行读取性能
8. 备份策略
MySQL 8.4的备份策略:
“C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqldump.exe” -u root -p –all-databases –single-transaction > backup_$(date +%Y%m%d).sql
# 2. 定期备份计划
# 创建批处理文件backup.bat,内容如下:
@echo off
set DATE=%date:~0,4%%date:~5,2%%date:~8,2%
“C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqldump.exe” -u root -p”fgedudb123″ –all-databases –single-transaction > “D:\backup\mysql\backup_%DATE%.sql”
# 3. 使用Windows任务计划程序创建定期备份任务
# 控制面板 -> 管理工具 -> 任务计划程序
# 创建新任务,设置执行时间和脚本路径
# 4. 考虑使用MySQL Enterprise Backup进行物理备份(商业版)
9. 安全设置
MySQL 8.4的安全设置:
“C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql_secure_installation.exe”
# 2. 创建专用用户并授权
mysql -u root -p
CREATE USER ‘fgedu’@’localhost’ IDENTIFIED BY ‘fgedudb123’;
GRANT ALL PRIVILEGES ON *.* TO ‘fgedu’@’localhost’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 3. 限制远程访问
# 在my.ini中添加
bind-address=127.0.0.1
# 4. 定期更新密码
# 每90天更新一次root密码
ALTER USER ‘root’@’localhost’ IDENTIFIED BY ‘new_password’;
# 5. 启用密码策略
# 在my.ini中添加
validate_password.policy=STRONG
validate_password.length=12
# 6. 启用审计日志
# 在my.ini中添加
audit_log=ON
audit_log_format=JSON
audit_log_file=C:/ProgramData/MySQL/MySQL Server 8.4/Data/audit.log
10. 验证安装
验证MySQL 8.4是否安装成功:
“C:\Program Files\MySQL\MySQL Server 8.4\bin\mysql.exe” -u root -p
# 2. 查看版本
mysql> SELECT VERSION();
+———–+
| VERSION() |
+———–+
| 8.4.0 |
+———–+
1 row in set (0.00 sec)
# 3. 创建测试数据库
mysql> CREATE DATABASE fgedudb;
Query OK, 1 row affected (0.00 sec)
# 4. 创建测试表
mysql> USE fgedudb;
Database changed
mysql> CREATE TABLE fgedu_users (
-> id INT PRIMARY KEY AUTO_INCREMENT,
-> name VARCHAR(50) NOT NULL,
-> age INT,
-> email VARCHAR(100),
-> created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
-> ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
Query OK, 0 rows affected (0.01 sec)
# 5. 插入测试数据
mysql> INSERT INTO fgedu_users (name, age, email) VALUES (‘测试用户’, 25, ‘test@fgedu.net.cn’);
Query OK, 1 row affected (0.00 sec)
# 6. 查询测试数据
mysql> SELECT * FROM fgedu_users;
+—-+———–+—–+———————+———————+
| id | name | age | email | created_at |
+—-+———–+—–+———————+———————+
| 1 | 测试用户 | 25 | test@fgedu.net.cn | 2026-03-31 10:00:00 |
+—-+———–+—–+———————+———————+
1 row in set (0.00 sec)
# 7. 查看8.4新特性
mysql> SHOW VARIABLES LIKE ‘transaction_write_set_extraction’;
+—————————-+———–+
| Variable_name | Value |
+—————————-+———–+
| transaction_write_set_extraction | XXHASH64 |
+—————————-+———–+
1 row in set (0.00 sec)
# 8. 退出MySQL
mysql> EXIT
– 定期备份数据
– 开启二进制日志用于Point-in-Time Recovery
– 监控MySQL的运行状态
– 定期检查并优化数据库性能
– 考虑使用MySQL Enterprise Monitor进行监控(商业版)
– 定期更新MySQL到最新版本以获得安全补丁和性能改进
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
