废话不多说,上实操!!!
一、彻底卸载旧版本MySQL(核心步骤)
彻底卸载是避免安装冲突的关键,请按顺序执行以下操作:
-
停止所有MySQL服务
终止MySQL进程,防止文件占用:
-
打开「服务」窗口:按
Win + R输入services.msc回车。 -
找到含「MySQL」的服务(如
MySQL57),右键「停止」。 -
若失败,以管理员身份打开CMD执行:
cmdtaskkill /f /im mysqld.exe # 强制结束所有MySQL进程
-
-
卸载MySQL程序组件
移除所有安装的程序:
- 打开「程序和功能」:按
Win + R输入appwiz.cpl回车。 - 卸载所有含「MySQL」的组件(如
MySQL Server 5.7、MySQL Workbench)。 - 确保无遗漏,卸载后重启电脑。
- 打开「程序和功能」:按
-
删除残留文件目录
手动清除残留文件:
- 删除MySQL安装目录(如
D:\mysql5),若提示占用则重启后删除。 - 开启「显示隐藏文件」:在「此电脑」→「查看」→勾选「隐藏的项目」。
- 删除以下路径(若存在):
C:\Program Files\MySQLC:\Program Files (x86)\MySQLC:\ProgramData\MySQL(核心残留,必须删除)。
- 删除MySQL安装目录(如
-
清理注册表
注册表残留是安装失败主因,谨慎操作:
- 打开注册表编辑器:按
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」的项,避免误删系统文件!
- 打开注册表编辑器:按
-
删除环境变量
移除MySQL配置:
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」。
- 在「系统变量」的
Path中,删除所有含MySQL\bin的路径(如D:\mysql5\bin)。 - 点击「确定」保存。
-
重启电脑
完成以上步骤后必须重启,确保所有残留清除。
二、MySQL 5.7重新安装与配置
确保按顺序操作,避免路径错误:
-
下载并解压安装包
- 从官网下载MySQL 5.7 ZIP包(如
mysql-5.7.44-winx64.zip)。 - 解压到无空格、无中文的路径(如
D:\mysql-5.7.44),避免使用旧路径。
- 从官网下载MySQL 5.7 ZIP包(如
-
配置my.ini文件
在MySQL根目录(如
D:\mysql-5.7.44)新建my.ini,内容如下(替换路径):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 -
初始化数据目录
以管理员身份打开CMD执行:
cmdcd D:\mysql-5.7.44\bin # 切换到bin目录 mysqld --initialize --console # 初始化,输出含初始密码- 关键输出:记录
root@localhost:后的随机密码(如abcd-1234-EFGH),用于首次登录。
- 关键输出:记录
-
安装并启动服务
在管理员CMD中继续执行:
cmdmysqld --install MySQL57 # 安装服务,建议用MySQL57避免冲突 net start MySQL57 # 启动服务- 若提示「服务已存在」,先运行
mysqld --remove MySQL57卸载旧服务,再重新安装。 - 若启动失败,检查
my.ini路径是否正确(无空格/中文)。
- 若提示「服务已存在」,先运行
-
修改初始密码
-
登录MySQL :在CMD中输入初始密码:
cmdmysql -uroot -p输入密码后显示
mysql>即成功。 -
修改密码 :执行以下SQL命令(替换
你的新密码):sqlALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; flush privileges; # 刷新权限 exit; # 退出 -
验证登录 :重新打开CMD,用新密码登录确认:
cmdmysql -uroot -p
-
三、常见问题解决
安装过程中的常见错误及解决方案:
-
初始化提示"data目录非空"
原因:
datadir目录有残留文件。解决:删除
data目录下所有内容,重新执行mysqld --initialize --console。 -
登录提示"ERROR 1045 (28000): Access denied"
原因:密码错误或未生效。
解决:
- 检查密码大小写。
- 若密码遗忘:
- 在
my.ini中添加skip-grant-tables。 - 重启服务:
net stop MySQL57+net start MySQL57。 - 无密码登录后修改密码,再注释掉
skip-grant-tables并重启服务。
- 在
-
服务启动失败(net start MySQL57 错误)
原因:路径错误、端口冲突或权限问题。
解决:
- 检查
my.ini中basedir和datadir路径(确保无中文/空格)。 - 更换端口(修改
my.ini中port为3307)。 - 以管理员身份运行CMD执行命令。
- 检查
总结
通过彻底卸载旧版残留(重点在注册表和文件清理)和正确配置新版本(确保路径无中文/空格),MySQL 5.7安装成功率极高。核心在于:卸载时重启电脑,安装时记录初始密码并修改。