MySQL 5.7彻底卸载与重新安装保姆级教程(附常见问题解决)

 更新时间:2025年11月18日 11:17:09   作者:HC0220  
这篇文章主要介绍了MySQL 5.7彻底卸载与重新安装保姆级教程的相关资料,步骤包括停止服务、卸载程序、删除文件和注册表项、清理环境变量等,还提供了安装过程中常见问题的解决方案,需要的朋友可以参考下

废话不多说,上实操!!!

一、彻底卸载旧版本MySQL(核心步骤)

彻底卸载是避免安装冲突的关键,请按顺序执行以下操作:

  1. 停止所有MySQL服务
    终止MySQL进程,防止文件占用:

    • 打开「服务」窗口:按 Win + R 输入 services.msc 回车。
    • 找到含「MySQL」的服务(如 MySQL57),右键「停止」。
    • 若失败,以管理员身份打开CMD执行:
      taskkill /f /im mysqld.exe  # 强制结束所有MySQL进程
      
  2. 卸载MySQL程序组件
    移除所有安装的程序:

    • 打开「程序和功能」:按 Win + R 输入 appwiz.cpl 回车。
    • 卸载所有含「MySQL」的组件(如 MySQL Server 5.7MySQL Workbench)。
    • 确保无遗漏,卸载后重启电脑。
  3. 删除残留文件目录
    手动清除残留文件:

    • 删除MySQL安装目录(如 D:\mysql5),若提示占用则重启后删除。
    • 开启「显示隐藏文件」:在「此电脑」→「查看」→勾选「隐藏的项目」。
    • 删除以下路径(若存在):
      • C:\Program Files\MySQL
      • C:\Program Files (x86)\MySQL
      • C:\ProgramData\MySQL(核心残留,必须删除)。
  4. 清理注册表
    注册表残留是安装失败主因,谨慎操作:

    • 打开注册表编辑器:按 Win + R 输入 regedit 回车。
    • 删除以下路径中的含「MySQL」子项:
      • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services(删除如 MySQL57
      • HKEY_LOCAL_MACHINE\SOFTWARE\MySQL AB(删除整个文件夹)
      • HKEY_CURRENT_USER\Software\MySQL AB(若存在)
      • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\MySQL AB(64位系统)。
        ⚠️ 注意:仅删除明确含「MySQL」的项,避免误删系统文件!
  5. 删除环境变量
    移除MySQL配置:

    • 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。
    • 在「系统变量」的 Path 中,删除所有含 MySQL\bin 的路径(如 D:\mysql5\bin)。
    • 点击「确定」保存。
  6. 重启电脑
    完成以上步骤后必须重启,确保所有残留清除。

二、MySQL 5.7重新安装与配置

确保按顺序操作,避免路径错误:

  1. 下载并解压安装包

    • 从官网下载MySQL 5.7 ZIP包(如 mysql-5.7.44-winx64.zip)。
    • 解压到无空格、无中文的路径(如 D:\mysql-5.7.44),避免使用旧路径。
  2. 配置my.ini文件
    在MySQL根目录(如 D:\mysql-5.7.44)新建 my.ini,内容如下(替换路径):

    [mysqld]
    port = 3306  # 端口号,冲突时可改(如3307)
    basedir = D:\mysql-5.7.44  # 替换为你的解压路径
    datadir = D:\mysql-5.7.44\data  # 数据目录,初始必须为空
    max_connections = 200
    character-set-server = utf8
    default-storage-engine = INNODB
    sql_mode = NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
    
    [mysql]
    default-character-set = utf8
    
  3. 初始化数据目录
    以管理员身份打开CMD执行:

    cd D:\mysql-5.7.44\bin  # 切换到bin目录
    mysqld --initialize --console  # 初始化,输出含初始密码
    
    • 关键输出:记录 root@localhost: 后的随机密码(如 abcd-1234-EFGH),用于首次登录。
  4. 安装并启动服务
    在管理员CMD中继续执行:

    mysqld --install MySQL57  # 安装服务,建议用MySQL57避免冲突
    net start MySQL57  # 启动服务
    
    • 若提示「服务已存在」,先运行 mysqld --remove MySQL57 卸载旧服务,再重新安装。
    • 若启动失败,检查 my.ini 路径是否正确(无空格/中文)。
  5. 修改初始密码

    • 登录MySQL:在CMD中输入初始密码:
      mysql -uroot -p
      
      输入密码后显示 mysql> 即成功。
    • 修改密码:执行以下SQL命令(替换 你的新密码):
      ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
      flush privileges;  # 刷新权限
      exit;  # 退出
      
    • 验证登录:重新打开CMD,用新密码登录确认:
      mysql -uroot -p
      

三、常见问题解决

安装过程中的常见错误及解决方案:

  • 初始化提示“data目录非空”
    原因:datadir 目录有残留文件。
    解决:删除 data 目录下所有内容,重新执行 mysqld --initialize --console

  • 登录提示“ERROR 1045 (28000): Access denied”
    原因:密码错误或未生效。
    解决:

    1. 检查密码大小写。
    2. 若密码遗忘:
      • my.ini 中添加 skip-grant-tables
      • 重启服务:net stop MySQL57 + net start MySQL57
      • 无密码登录后修改密码,再注释掉 skip-grant-tables 并重启服务。
  • 服务启动失败(net start MySQL57 错误)
    原因:路径错误、端口冲突或权限问题。
    解决:

    1. 检查 my.inibasedirdatadir 路径(确保无中文/空格)。
    2. 更换端口(修改 my.iniport3307)。
    3. 以管理员身份运行CMD执行命令。

总结

通过彻底卸载旧版残留(重点在注册表和文件清理)和正确配置新版本(确保路径无中文/空格),MySQL 5.7安装成功率极高。核心在于:卸载时重启电脑,安装时记录初始密码并修改。

相关文章

  • windows系统mysql5.7.18安装图文教程

    windows系统mysql5.7.18安装图文教程

    这篇文章主要为大家详细介绍了windows系统下mysql5.7.18安装图文教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • MySQL多表查询、事务与索引的实践与应用操作

    MySQL多表查询、事务与索引的实践与应用操作

    本文围绕MySQL数据库操作展开,通过构建部门与员工管理、餐饮业务相关的数据库表,并填充测试数据,系统地阐述了多表查询的多种方式,包括内连接、外连接和不同类型的子查询,同时介绍了事务的处理以及索引的创建、查询和删除操作,感兴趣的朋友一起看看吧
    2025-04-04
  • mysql如何将一个列按逗号分割为多列

    mysql如何将一个列按逗号分割为多列

    在MySQL中,将一个列按逗号分割为多列可以通过使用SUBSTRING_INDEX()函数和CROSS JOIN操作实现,本文提供了一个实用的方法,通过创建数字序列和临时表来拆分tags列并计数每个标签的出现次数,适用于处理有限数量的标签值
    2024-09-09
  • mysql增删改查基础语句

    mysql增删改查基础语句

    这篇文章主要介绍了mysql增删改查基础语句,需要的朋友可以参考下
    2017-10-10
  • MySQL查看数据库状态命令详细讲解

    MySQL查看数据库状态命令详细讲解

    在工作中,有时候我们需要了解MySQL服务器的状态信息,下面这篇文章主要给大家介绍了关于MySQL查看数据库状态命令的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • mysql触发器中包含select语句问题

    mysql触发器中包含select语句问题

    这篇文章主要介绍了mysql触发器中包含select语句问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08
  • MYSQL替换时间(年月日)字段时分秒不变实例解析

    MYSQL替换时间(年月日)字段时分秒不变实例解析

    这篇文章主要介绍了MYSQL替换时间(年月日)字段,时分秒不变的实现方法,需要的朋友可以参考下
    2017-07-07
  • Ubuntu搭建Mysql+Keepalived高可用的实现(双主热备)

    Ubuntu搭建Mysql+Keepalived高可用的实现(双主热备)

    本文主要介绍了Ubuntu搭建Mysql+Keepalived高可用的实现(双主热备),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 基于MySQL文件排序用法解读

    基于MySQL文件排序用法解读

    这篇文章主要介绍了MySQL文件排序用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • 数据库面试必备之MySQL中的乐观锁与悲观锁

    数据库面试必备之MySQL中的乐观锁与悲观锁

    这篇文章主要介绍了数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数据一致性要求极高的场景,通过加锁确保数据一致,需要的朋友可以参考下
    2025-04-04

最新评论