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
相关推荐
仍然.4 小时前
Redis---缓存
数据库·redis·缓存
Aloudata4 小时前
LookML 语义模型 vs 企业级独立语义层:BI 建模语言能否承担企业语义底座?
数据库·人工智能·数据分析·数据资产·dataagent
细嗅蔷薇@4 小时前
排序和分⻚(order by 、limit)
数据库·oracle
wdfk_prog5 小时前
LWIP教程 09:从 `tcp_slowtmr()` 到 Fast Retransmit——TCP 超时重传与重复 ACK
服务器·网络·数据库·网络协议·tcp/ip
逸模5 小时前
BIM在连锁餐饮装修中的应用:不只是画三维图
大数据·数据库·人工智能·物联网·建模
bug和崩溃我都要5 小时前
QT 开发的专业截图录屏工具 - macOS版 / Windows版
windows·qt·mac·录屏·截屏
梦想平凡5 小时前
棋牌游戏技术实战(五):从对局事件重新执行规则,核对棋盘和最终状态
数据库·游戏·oracle
kimloner5 小时前
开源一个 376KB 的 Windows 桌面小工具:便签 + 截图标注 + OCR + 待办提醒(C# / WinForms)
windows·开源·c#·ocr·winforms
白露与泡影5 小时前
Oracle AI Database 26ai RAC 部署步骤、关键命令与一键脚本
数据库·人工智能·oracle
摸鱼 特供版5 小时前
一款边录边标注的轻量截图录屏工具
windows·学习·电脑·音视频·软件需求