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
相关推荐
东风破_6 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔7 小时前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构
橙子家7 小时前
OSS 文件上传的几个风险点和解决方案
数据库
2601_962066499 小时前
【Sql Server】Update中的From语句,以及常见更新操作方式
android·java·数据库
愤怒的苹果ext9 小时前
MySQL Shell备份恢复数据库
数据库·mysql·备份恢复·mysqlsh
数字新视界11 小时前
DCIM管理系统的技术架构与部署模式详解
数据库·物联网·数据中心·数据中心基础设施管理·dcim管理系统
何以解忧,唯有..11 小时前
Pydantic 介绍与使用:Python 数据校验的现代方案
数据库·python·microsoft
超兔一体云12 小时前
MySQL索引优化实战——从慢查询到索引调优
后端·mysql
这个DBA有点耶13 小时前
数据库容灾进入“秒级时代”:同城双活架构原理、关键技术选型与落地实践
数据库·架构·dba
2601_9620748113 小时前
大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
大数据·数据库·mysql