MySQL安装及加固(ZIP压缩包)-windows

MySQL安装及加固(ZIP压缩包)-windows

下载

在MySQL官网下载安装:MySQL :: Download MySQL Community Server

安装

  1. 将压缩包解压到指定目录下。

  2. 在解压后的MySQL目录下,创建配置文件my.ini

    ini 复制代码
    [mysql]
    # 设置mysql客户端默认字符集
    default-character-set=utf8
    
    [mysqld]
    # 3306端口
    port = 3306
    
    # 设置mysql的安装目录
    basedir = D:\Program Files\mysql-5.7.44-winx64
     
    # 设置mysql数据库的数据的存放目录
    datadir = D:\Program Files\mysql-5.7.44-winx64\data
     
    # 允许最大连接数
    max_connections=200
     
    # 服务端使用的字符集默认为8比特编码的latin1字符集
    character-set-server=utf8
     
    # 创建新表时将使用的默认存储引擎
    default-storage-engine=INNODB
     
    # 创建模式
    sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'
    
    # InnoDB引擎相关配置
    innodb_buffer_pool_size = 128M    # InnoDB缓冲池大小,根据物理内存适当调整
    innodb_log_file_size = 50M        # InnoDB日志文件大小
    
    # 其他性能优化相关的配置
    max_connections = 100             # 最大并发连接数
    query_cache_size = 0              # 查询缓存大小(MySQL 8.0中已废弃查询缓存功能)
    tmp_table_size = 32M              # 临时表的最大大小
    thread_cache_size = 8             # 线程缓存大小
  3. 初始化MySQL。在MySQL的bin 目录下摁住shift,然后点击鼠标右键,选择在此处打开Powershell窗口(S),或者通过cmd命令行进入到MySQL的bin目录,执行下面的命令(根据自己所用窗口,选择一个执行):

    bat 复制代码
    #cmd窗口
    mysqld --initialize-insecure --user=mysql
    
    #Powershell窗口
    .\mysqld.exe --initialize-insecure --user=mysql
  4. 执行上面的初始化命令后,可以看到MySQL目录下新增了一个data目录:

  5. 安装MySQL为服务。此时需要以管理员打开cmd窗口,进入MySQL的bin目录,执行下面的命令

    bat 复制代码
    #cmd窗口
    mysqld install
  6. 此时查看windows的服务下,多了一个MySQL的服务

  7. 右键启动MySQL服务。启动后可用工具,使用root账户直接连接,上面的初始化时,root账户是没有密码的,需要马上设置密码。

等保二级加固

MySQL安装完成后,在某此场景下,要对其进行进行安全加固,修改my.ini,添加等保二级要求的加固措施,完整的my.ini如下:

ini 复制代码
[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8

[mysqld]
# 3306端口
port = 3306

# 设置mysql的安装目录
basedir = D:\Program Files\mysql-5.7.44-winx64
 
# 设置mysql数据库的数据的存放目录
datadir = D:\Program Files\mysql-5.7.44-winx64\data
 
# 允许最大连接数
max_connections=200
 
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
 
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB
 
# 创建模式
sql_mode='NO_AUTO_VALUE_ON_ZERO,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,PIPES_AS_CONCAT,ANSI_QUOTES'

# InnoDB引擎相关配置
innodb_buffer_pool_size = 128M    # InnoDB缓冲池大小,根据物理内存适当调整
innodb_log_file_size = 50M        # InnoDB日志文件大小

# 其他性能优化相关的配置
max_connections = 100             # 最大并发连接数
query_cache_size = 0              # 查询缓存大小(MySQL 8.0中已废弃查询缓存功能)
tmp_table_size = 32M              # 临时表的最大大小
thread_cache_size = 8             # 线程缓存大小

# 等保二级加固配置
# 密码策略插件
plugin-load-add=validate_password.dll
validate-password=FORCE_PLUS_PERMANENT
## 密码最小8位长度
validate_password_length=8
## 密码至少要包含1个大小写字母
validate_password_mixed_case_count=1
## 密码至少要包含1个数字
validate_password_number_count=1
## 密码强度检查等级 1/MEDIUM
validate_password_policy=1

# 登录失败处理插件
plugin-load-add=connection_control.dll
connection-control=FORCE_PLUS_PERMANENT
connection-control-failed-login-attempts=FORCE_PLUS_PERMANENT
connection_control_failed_connections_threshold=5
connection_control_min_connection_delay=108000

## 超时30分钟,默认是8小时
wait_timeout=1800
interactive_timeout=1800

## 此项配置后对所有用户有效,慎用!要求是密码过期不得超过90天
default_password_lifetime=90
相关推荐
江畔柳前堤7 小时前
HBM:大语言模型时代的「算力血液」——从内存墙到带宽革命的深度拆解
服务器·人工智能·windows·目标检测·语言模型·自然语言处理·软件工程
IvorySQL8 小时前
PostgreSQL 日报 | JOIN 与外键优化(8 月 9 日)
数据库·postgresql
ltl8 小时前
自治数据库十年回顾:Peloton、NoisePage、OtterTune 到云原生 auto-tuning
数据库
灯澜忆梦10 小时前
【MySQL10】进阶篇 | 索引_#2性能优化
数据库·sql·mysql·性能优化
C++ 老炮儿的技术栈12 小时前
从 Qt Designer 属性编辑器的层级可以看到继承链
c语言·数据库·c++·qt·sqlite·visual studio
MC皮蛋侠客12 小时前
Redis 系列(一):全景与最小闭环——从 `SET` 命令到内存数据结构
数据结构·数据库·redis
天天进步201512 小时前
UI-TARS 源码解析 #22:二次开发实战:用 UI-TARS 做一个简单的 Windows 自动操作 Agent
windows·ui
啊哈一半醒12 小时前
Windows 虚拟机搭建 CentOS 全过程(2026 最新版 + 踩坑解决)
linux·windows·centos
new_zhou12 小时前
C++ 项目 AI 协作指南(Windows / MSVC 环境)
c++·人工智能·windows
zt1985q13 小时前
本地部署开源网络书签与内容管理工具 Karakeep 并实现外部访问
运维·服务器·网络·数据库·网络协议·开源