自学内容网 自学内容网

MySQL解压版(保姆级教程)

1. 下载MySQL

下载网址: https://dev.mysql.com/downloads/
image-20250113210521637
image-20250113210556280 选择免安装版,点击下载。
image-20250113210613026

2. 解压压缩包

解压压缩包----->放置任意磁盘
去掉解压后的-winx64,放置任意磁盘位置

image-20250113211052889

image-20250113210912656

3. 添加环境变量

  1. 右键此电脑—>属性
  2. 高级系统设置—>环境变量---->path系统变量—>编辑---->新建—>复制解压的mysql-8.0.40的bin文件的路径—>保存
    image-20250113211126479

image-20250113211208808

image-20250113211323691
image-20250113211358750

4. 创建配置文件

  1. 打开文件扩展名设置

image-20250113211534553

  1. 新建mysql配置文件ini
    新建文本文档,命名为my.ini
    image-20250113211617913
    修改my.ini文件内容,注意修改路径,修改为自己放置mysql文件的目录
    image-20250113211805902
# MySQL 服务器基本设置

[mysqld]
# MySQL 的安装目录 (basedir),即 MySQL 解压目录
basedir=D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\

# MySQL 数据文件存储目录 (datadir),用于存放数据库文件
datadir=D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\data\

# 服务器端口号 (默认3306)
port=3306

# 服务器字符集配置(推荐使用utf8mb4,支持更全面的Unicode字符集)
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci

# 默认存储引擎 (InnoDB 是推荐的事务型存储引擎)
default-storage-engine=INNODB

# 是否将 InnoDB 设置为默认事务引擎
default-authentication-plugin=mysql_native_password

# SQL 模式设置,启用严格模式,推荐生产环境使用,避免数据一致性问题
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION

# 最大连接数 (默认为151,可根据实际需求调整)
max_connections=200

# 缓冲池大小 (InnoDB 用于缓存数据和索引的内存大小,推荐1GB以上)
innodb_buffer_pool_size=1G

# 日志文件大小 (InnoDB 日志文件的大小)
innodb_log_file_size=256M

# 启用慢查询日志 (帮助分析性能瓶颈)
slow_query_log=1
slow_query_log_file=D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\logs\slow_query.log
long_query_time=2  # 查询时间超过2秒的SQL会记录到慢查询日志中

# 错误日志文件 (记录MySQL的错误信息)
log_error=D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\logs\error.log

# 日志输出方式 (可选值:FILE、TABLE)
log_output=FILE

# 启用日志查询 (记录所有的SQL查询,生产环境慎用)
general_log=0
general_log_file=D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\logs\general.log

# 跳过DNS解析,加快连接速度
skip-name-resolve

# 是否自动重启 (如果MySQL在异常情况下崩溃,自动重启)
auto-restart=1

# 表示不区分大小写 (0区分大小写,1不区分大小写)
lower_case_table_names=1

# 禁用符号链接,防止安全风险
symbolic-links=0

# 开启MySQL服务端的本地时间同步
default-time-zone=+8:00  # 北京时间

5. 启动管理员模式下的CMD

5.1. 启动cmd

image-20250113211932734
5.2. 切换bin目录,运行安装程
image-20250113211956221
5.3. 利用命令初始化数据文件
输入如下命令,等待加载完毕

mysqld --initialize-insecure --user=mysql
  • 说明: 该命令会初始化数据库,但不设置 root 密码。

image-20250113212029763

5.4 重启mysql,进入管理界面

输入命令

net start mysql

说明: 如果服务未安装,请先运行:mysqld --install

在这里插入图片描述
使用命令进入mysql管理界面

mysql -u root -p

修改 root 密码为: 123456

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

5.5 刷新权限以生效

flush privileges;

6. 重启mysql

exit;                  # 退出 MySQL:
net stop mysql   # 停止 MySQL
net start mysql   # 启动 MySQL

7. 检查服务是否成功启动

  • 在 PowerShell 中输入:
PS D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\bin> Get-Service -Name mysql

Status   Name               DisplayName
------   ----               -----------
Running  MySQL              mysql
  • 如果显示 Running,说明服务已正常启动。

8. 可能遇见的错误

建议检查顺序:

  1. 检查 data 目录。
  2. 移除旧服务 (mysqld --remove)。
  3. 重新安装并启动。
  4. 检查端口冲突。
  5. 尝试手动启动 (mysqld --console)。

报错 “MySQL 服务无法启动”NET HELPMSG 3534,说明:

  1. MySQL服务已存在mysqld --install 报错)。
  2. 服务未能成功启动,但没有明确错误信息。

🎯 数据目录未正确初始化

使用了 --initialize-insecure 命令后,可能数据目录未正确初始化,或 data 目录已存在但不完整。

解决方法:重新初始化数据目录

  1. 停止MySQL服务(如果有运行的服务):

    net stop mysql
    
  2. 删除旧的 data 目录(重要):
    D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\ 下删除 data 文件夹。

  3. 重新初始化数据库(确保bin目录正确):

    mysqld --initialize-insecure --user=mysql
    
    • --initialize-insecure:初始化数据库但不会设置root密码。
    • 会自动生成 data 目录。
  4. 重新启动 MySQL 服务:

    net start mysql
    

🎯 MySQL服务已存在但路径错误

你尝试安装 MySQL 服务时,报错 “The service already exists!”,可能是服务存在但路径错误。

解决方法:移除旧服务并重新安装

  1. 删除已存在的MySQL服务:

    mysqld --remove
    
  2. 重新安装MySQL服务:

    mysqld --install
    
  3. 启动MySQL服务:

    net start mysql
    

🎯 端口被占用

默认 MySQL 使用 3306 端口,如果被其他服务占用,MySQL 可能无法启动。

检查端口是否被占用

  1. 在 PowerShell 输入:

    netstat -ano | findstr 3306
    
  2. 如果端口被占用,找到对应的 PID,然后结束进程:

    taskkill /PID <PID号> /F
    
  3. 重新启动 MySQL 服务:

    net start mysql
    

🎯 MySQL配置文件错误

如果 my.ini 文件中存在错误配置,也可能导致服务无法启动。

检查 my.ini 配置文件

  1. 打开 D:\mysql-8.0.40-winx64\mysql-8.0.40-winx64\my.ini

  2. 确保以下配置正确:

    [mysqld]
    port=3306
    basedir=D:/mysql-8.0.40-winx64/mysql-8.0.40-winx64
    datadir=D:/mysql-8.0.40-winx64/mysql-8.0.40-winx64/data
    
  3. 保存文件

    后,重新启动 MySQL 服务:

    net start mysql
    

🎯 手动启动MySQL(无服务模式)

如果服务仍无法启动,可以尝试手动启动MySQL。

mysqld --console
  • 如果正常启动,说明 MySQL 安装无问题,但服务启动有异常。

9. MySQL 解压版 和 安装包的对比

使用 MySQL 免安装版(解压版)与 MySQL 安装包(安装向导版)各有优缺点。以下是两种方式的详细对比

9.1 MySQL 解压版

特点:

  • 仅需解压即可使用。
  • 手动配置环境变量和服务。
  • 适用于更灵活、可移植的场景。

优点:

  1. 轻量灵活:
    • 无需复杂的安装向导,直接解压即可使用。
    • 可以放在任意目录下,支持自定义目录结构。
  2. 可移植性强:
    • 只需复制整个 MySQL 目录,迁移到其他电脑后配置 my.ini 即可继续使用。
  3. 便于多版本管理:
    • 可以同时解压多个不同版本的 MySQL,只需要分配不同端口和数据目录即可。
  4. 更少的系统依赖:
    • 不会在系统中安装过多的注册表和服务项,干净且易于移除。

缺点:

  1. 需要手动配置:
    • 需要手动配置 my.ini 和环境变量。
    • 手动初始化数据目录和创建服务。
  2. 易出错:
    • 如果路径错误或环境变量未配置正确,可能导致无法启动 MySQL 服务。
  3. 缺乏图形化管理:
    • 需要额外安装图形化管理工具,如 MySQL Workbench 或 phpMyAdmin。
9.2 MySQL 安装版

特点:

  • 使用 .msi 安装包,通过图形化向导进行安装和配置。
  • 自动完成环境变量配置、服务注册和初始化。

优点:

  1. 自动化安装:
    • 自动完成环境变量配置、数据目录初始化以及服务注册。
  2. 便捷性高:
    • 适合新手用户,整个过程由向导引导完成。
  3. 内置图形化工具:
    • 默认可选安装 MySQL Workbench 和 MySQL Notifier,便于图形化管理数据库。
  4. 自动配置服务:
    • 自动注册 MySQL 服务,方便使用 net start mysql 启动和停止服务。

缺点:

  1. 不够灵活:
    • 目录结构固定,默认安装到 C:\Program Files\MySQL\,更改位置较麻烦。
  2. 难以管理多个版本:
    • 如果需要同时使用多个 MySQL 版本,安装版更难配置。
  3. 占用更多系统资源:
    • 默认安装更多的附加工具,可能占用更多的磁盘空间和系统资源。
  4. 卸载不彻底:
    • 使用安装包卸载时,可能会遗留注册表项和数据目录。

9.4 使用场景对比
对比点MySQL 免安装版MySQL 安装版
使用难度需要手动配置环境变量和服务自动化配置,适合新手使用
灵活性可自由选择路径和多版本管理路径固定,管理多版本较复杂
移植性高,可直接复制到其他机器使用低,依赖安装目录和注册表
适合用户高级用户、开发者、需要多版本使用初学者、单机用户、普通使用场景
资源占用轻量,仅核心文件占用更多资源,附带图形化工具
图形化管理需要手动安装 Workbench默认附带 Workbench 和 Notifier
服务管理手动注册服务自动注册服务

✅ 建议:

  • 如果你是 开发人员,建议使用 免安装版,便于灵活控制和多版本共存。
  • 如果你是 初学者普通用户,建议使用 安装版,方便一键配置和管理。

原文地址:https://blog.csdn.net/m0_53882348/article/details/145125258

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!