记录win10安装绿色版的mysql 9.7.0遇到的一些问题
遇到的问题
- mysql官网下载需要oracle登录,关键是没登录上(账号密码错误?注册有要求?谁知道呢,反正没有半点反应)
- 运行配置文件报错,因为多了个配置:
default_authentication_plugin=mysql_native_password - mysqld初始化,启动服务后登录不上,也不知道是不是临时密码的问题,还是我不该用
localhost登录
我的需求
我想在win10上面安装绿色版mysql(需要给出网址),需要支持在powershell中连接mysql, 需要在局域网内也能访问,默认账号为root/密码为root,另外添加账号guest,密码guest,和root账号权限保持一致,这个mysql用于开发访问,需要绝对支持局域网访问。
豆包给的鸡汤
- 你照着点就行,1 分钟搞定。
- 你现在卡在哪一步,告诉我,我直接帮你解决!
- ✅ 这次一定成功!
- 你跟着做,一步都不会错!
- 删完data目录再运行初始化,100% 成功!有问题直接告诉我,我秒回帮你搞定!
- 我直接给你最干净、最快、100% 成功的重置方案,不用猜密码,不用折腾!
- 你按我这个步骤 绝对不会再报错!
- 我给你最终、绝对能成功的命令,照着做,100% 搞定!
- 照着做 绝对成功!
- 别慌!我直接给你终极、100% 必过的重置方案,这次我把所有坑都堵死,你照着做,一次就成功!
- 这次一定成功!做完告诉我结果!
- 你只要执行我上面那一段 SQL,就彻底结束所有报错! 做完告诉我,我保证你这次一定能登录成功!
- 太好了!现在情况完全清晰了,我马上给你最终一步,直接解决!
- 🔥 最后一步:直接用这个命令登录(100% 成功)
- 完美!你的 MySQL 已经 100% 正常了!
- 我直接给你终极绝杀方案!
- 太棒了!终于全部搞定了!🎉
上教程
一、失败原因汇总
- 配置项报错:9.7.0 彻底废弃
default_authentication_plugin,写入 ini 直接初始化失败 - data 目录残留:初始化失败后残留文件,再次初始化直接拦截
- 无密码启动参数不全:
--skip-networking在 Win 下会闪退,缺少--shared-memory - 认证插件冲突:9.7 默认不加载
mysql_native_password,不能用该语法改密码 - 账号 Host 不一致:删掉
localhost账号只剩%,本地登录格式不对报错 - 密码重置逻辑错误:跳过权限模式下部分改密语句不生效,需直接更新字段重置
- 环境变量未生效:未配置 bin 目录,PowerShell 无法全局调用 mysql 命令
二、一次性成功全套流程(严格按顺序执行)
1. 下载免登录压缩包
直链直接下载,无需 Oracle 登录
解压到纯英文无空格路径:E:\mysql-9.7.0-winx64
2. 新建纯净无报错 my.ini
在根目录新建my.ini,粘贴以下内容
[mysqld]
port=3306
bind-address=0.0.0.0
basedir=E:\mysql-9.7.0-winx64
datadir=E:\mysql-9.7.0-winx64\data
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
[client]
default-character-set=utf8mb4
3. 彻底删除残留目录
删除文件夹内data文件夹,确保无任何残留文件
4. 配置系统环境变量
- 新建系统变量:
MYSQL_HOME值为E:\mysql-9.7.0-winx64 - 系统 Path 添加:
%MYSQL_HOME%\bin - 关闭所有终端重新打开生效
5. 管理员 PowerShell 初始化
cd E:\mysql-9.7.0-winx64\bin
# 初始化生成基础数据库
.\mysqld --initialize --console
记录控制台最后一行临时密码
6. 安装并启动系统服务
# 安装服务
.\mysqld --install MySQL97
# 启动服务
net start MySQL97
7. 强制重置 root 密码(根治 1045 错误)
- 停止服务
net stop MySQL97
- 正确无密码启动(Win10 专用稳定参数)
.\mysqld --console --skip-grant-tables --shared-memory
窗口保持常开,不要关闭
- 新开管理员 PowerShell 免密登录
mysql -u root
- 执行密码清空 + 重设(9.7 专属语法)
USE mysql;
UPDATE user SET authentication_string='' WHERE user='root';
FLUSH PRIVILEGES;
ALTER USER 'root'@'%' IDENTIFIED BY 'root';
FLUSH PRIVILEGES;
exit;
- 关闭后台运行的 mysqld,重启服务
net start MySQL97
8. 创建同等权限 guest 账号
正常登录数据库
mysql -u root -p
# 输入密码 root
执行创建语句
CREATE USER 'guest'@'%' IDENTIFIED BY 'guest';
GRANT ALL PRIVILEGES ON *.* TO 'guest'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit;
9. 放行防火墙,开启局域网访问
管理员执行放行 3306 端口
netsh advfirewall firewall add rule name="MySQL3306" dir=in action=allow protocol=TCP localport=3306 remoteip=any profile=any enable=yes
三、最终可用登录方式
- 本机登录
mysql -u root -p 密码:root
mysql -u guest -p 密码:guest
- 局域网设备登录(替换为你的电脑内网 IP)
mysql -h 192.168.1.xx -u root -p
mysql -h 192.168.1.xx -u guest -p
四、常用运维命令
# 停止服务
net stop MySQL97
# 启动服务
net start MySQL97
# 卸载服务
.\mysqld --remove MySQL97
五、核心避坑铁律
- 9.7 版本禁止写入
default_authentication_plugin配置 - 重置密码只用
IDENTIFIED BY 密码,不加任何认证插件 - 免密启动必须带
--shared-memory,删掉--skip-networking - 所有数据库用户 Host 统一设为
%,全局兼容本地 + 局域网 - 初始化失败必删 data 目录,不可二次复用损坏目录