MySQL Workbench 连接失败、root 密码遗忘完整解决实录

发布时间:2026/6/14 4:15:29

MySQL Workbench 连接失败、root 密码遗忘完整解决实录 # MySQL Workbench 连接失败、root密码遗忘完整解决实录超详细小白向 ## 前言 最近做数据库安全实验时踩了巨多坑打开MySQL Workbench一直显示unconnected执行SQL按钮全是灰色折腾半天才发现是忘记root登录密码重置密码过程中又接连遇到目录权限、服务启动失败、3306端口连接拒绝等报错。 整理一套从零到能正常写实验SQL的完整流程全程无晦涩术语新手跟着复制命令就能搞定。 ## 一、故障现象说明 1. MySQL Workbench左上角状态栏显示unconnected工具栏执行、新建表等按钮全部灰色无法点击 2. 双击数据库连接弹窗需要输入root密码完全记不清当初设置的密码 3. CMD尝试免密登录时报错Cant connect to MySQL server on localhost:3306 (10061) 4. 执行mysqld --skip-grant-tables启动数据库时出现Failed to set datadir目录权限报错。 ## 二、前置操作停止MySQL系统服务 ### 操作步骤 1. 快捷键WinR输入services.msc回车打开Windows服务管理器 2. 在服务列表中找到名称含MySQL的服务常见MySQL80 3. 右键服务点击**停止**等待服务状态切换为「已停止」再进行后续操作。 关键提醒修改数据库权限、重置密码前必须关闭正在运行的MySQL服务否则端口占用会导致所有命令失效。 ## 三、方案一官方安全重置法解决启动失败、目录报错 ### 1. 管理员身份打开CMD 1. 按下键盘Win键搜索框输入cmd 2. 右键「命令提示符」选择**以管理员身份运行**普通权限会报目录访问拒绝。 ### 2. 切换至MySQL安装的bin目录 复制下方命令粘贴至CMD回车执行 bash cd C:\Program Files\MySQL\MySQL Server 8.0\bin 执行成功后命令行前缀会变为C:\Program Files\MySQL\MySQL Server 8.0\bin。 补充说明引号不能省略因为Program Files文件夹名称中间存在空格不加引号系统无法识别完整路径。 ### 3. 初始化数据库清空root原始密码 粘贴命令回车执行等待程序自动运行完毕无红色报错即成功 bash mysqld --initialize-insecure --console 这条命令作用重置MySQL权限文件直接清空root账号密码规避传统skip-grant-tables模式的目录权限bug。 ### 4. 后台启动MySQL服务窗口不可关闭 继续在当前CMD输入命令回车 bash mysqld --console 执行后窗口会持续输出日志并卡住不动**不要关闭该CMD窗口**关闭则数据库服务直接终止后续无法登录。 ### 5. 新开第二个管理员CMD免密登录 1. 重新搜索cmd再次右键以管理员运行打开全新黑窗口 2. 再次切换bin目录 bash cd C:\Program Files\MySQL\MySQL Server 8.0\bin 3. 免密登录root用户 bash mysql -u root 登录成功标志命令行前缀变为mysql代表进入MySQL内部命令环境。 ### 6. 设置新root密码固定p888888方便实验记忆 在mysql后逐行输入每一行输完按下回车 sql -- 切换系统权限库 USE mysql; -- 修改root本地登录密码 ALTER USER rootlocalhost IDENTIFIED BY p888888; -- 刷新权限配置立即生效 FLUSH PRIVILEGES; -- 退出MySQL命令环境 exit; 每一行执行后提示Query OK, 0 rows affected代表操作成功。 ## 四、恢复正常使用模式 1. 关闭两个CMD窗口 2. 重新打开服务管理器services.msc右键MySQL服务点击**启动** 3. 等待服务状态变为「正在运行」密码重置流程全部结束。 ## 五、MySQL Workbench正常连接数据库 1. 打开MySQL Workbench软件回到首页连接列表 2. 双击本地数据库连接Local Instance MySQL80 3. 弹窗密码输入框填入新密码p888888 4. 勾选Save password in vault保存密码点击OK 5. 连接成功后左上角unconnected字样消失工具栏所有灰色按钮全部点亮可正常编写、执行SQL语句。 ## 六、配套数据库实验测试代码MySQL标准语法 连接成功后新建查询标签页粘贴代码执行完成数据库用户创建实验 sql -- 切换MySQL系统库用于创建登录用户 USE mysql; -- 创建实验用户user01、user02统一密码p888888允许任意设备访问 CREATE USER user01% IDENTIFIED BY p888888; CREATE USER user02% IDENTIFIED BY p888888; -- 给两个用户分配orderdb订单库全部操作权限 GRANT ALL PRIVILEGES ON orderdb.* TO user01%; GRANT ALL PRIVILEGES ON orderdb.* TO user02%; -- 刷新权限配置 FLUSH PRIVILEGES; -- 切换至实验数据库orderdb后续操作默认在此库执行 USE orderdb; 全选代码点击工具栏闪电图标执行下方输出Query OK即代表实验代码运行成功。 ## 七、高频踩坑问题总结 1. **报错不是内部或外部命令** 原因漏写cd切换目录命令直接粘贴文件夹路径解决必须以cd 完整路径格式切换目录。 2. **报错Cant connect to MySQL server on localhost:3306 (10061)** 原因MySQL服务未启动、启动服务的CMD窗口被关闭解决严格按照流程保持服务CMD窗口打开或在服务管理器启动系统MySQL服务。 3. **mysqld启动提示目录、文件权限报错** 原因传统--skip-grant-tables模式对带空格系统目录兼容性差解决改用文中--initialize-insecure初始化重置方案。 4. Workbench按钮全灰色 核心根源未成功连接MySQL服务器解决完成密码重置后正常登录连接即可。 ## 写在最后 很多同学做数据库实验卡在连接、密码环节网上大部分教程只提供skip-grant-tables方案很容易出现目录兼容报错。本文这套初始化重置法适配Windows所有MySQL8.0版本全程避开权限坑重置完成后可以直接开展用户授权、角色管理等数据库安全性实验。 如果操作过程中遇到红色报错可以复制完整报错信息对照文章故障总结排查基本都能一次性解决。

相关新闻