目录在Windows情况下安装MySQL数据后,假如忘记了 MySQL 8.0 的 root 暗码,不必担心!通过 --skip-grant-tables 和 named-pipe 模式登录后,只需几步简朴的 SQL 命令即可重置暗码:刷新权限表、修改暗码、再刷新权限,末了重启 MySQL 服务,你就能使用新暗码顺利登录数据库! 问题如下: 出现 [code]ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)[/code] 表现 MySQL 拒绝了你提供的 [code]root[/code] 用户的暗码。大概的原因包罗:
办理方案1. 检查是否输入正确的暗码确认你输入的暗码是否正确,留意以下几点: 确认你输入的暗码是否正确,留意以下几点:
2. 使用“跳过权限表”的方式重置 root 暗码假如你确认暗码正确但仍然无法登录,大概你忘记了 [code]root[/code] 暗码,可以通过“跳过权限表”的方式重置暗码。以下是步骤: 2.1 停止 MySQL 服务在 Windows 下,你可以通过命令提示符停止 MySQL 服务: [code]net stop mysql [/code]假如你使用的是差别的 MySQL 服务名称(如 [code]mysql80[/code]),请将命令改为: [code]net stop mysql80 [/code]问题一:假如执行net stop mysql后,出现“C:\Users\admin>net stop mysql80 发生体系错误 5。 拒绝访问。” 出现 [code]体系错误 5[/code],并显示“拒绝访问”,通常意味着你没有富足的权限来停止 MySQL 服务。这是一个权限问题,通常是因为你未以管理员身份运行命令提示符。 办理方法: 方法一:以管理员身份运行命令提示符 Windows 中的一些操纵(如启动和停止服务)需要以管理员权限执行。请按以下步骤操纵:
大概,假如你的 MySQL 服务名称是 [code]mysql[/code] 而不是 [code]mysql80[/code],则输入: [code]net stop mysql [/code]
在某些情况下,MySQL 的服务名称大概不是 [code]mysql80[/code]。你可以通过以下步骤检查你体系中的 MySQL 服务名称:
在返回的列表中找到雷同 [code]mysql[/code] 或 [code]mysql80[/code] 的条目,记下服务名称。 大概,你可以专门查找 MySQL 服务: [code]sc query | findstr /i "mysql" [/code]找到正确的服务名称后,再使用正确的服务名称来停止 MySQL 服务。 方法二:使用 Windows 服务管理器停止 MySQL 服务 假如不方便通过命令行操纵,也可以使用 Windows 服务管理器来停止 MySQL 服务:
2.2 以跳过权限表模式启动 MySQL使用 --skip-grant-tables 选项启动 MySQL。这个选项允许你在没有暗码的情况下登录 MySQL。
问题二:执行[code]mysqld --skip-grant-tables[/code] 命令,再执行mysql -u root报错 执行 mysqld --skip-grant-tables 命令,再执行mysql -u root,出现ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061),表明 MySQL 服务并未成功启动。 排查原因和办理方法: 1. 确认 MySQL 是否成功启动 执行 [code]mysqld --skip-grant-tables[/code] 命令后,通常会显示一些输出。假如命令行未响应且没有提示 MySQL 已启动,大概说明启动失败。 在执行该命令时,请查看是否有错误输出。假如启动失败,大概会遇到雷同以下问题:
假如没有看到任何输出,可以查看 MySQL 错误日志。 2. 查看 MySQL 错误日志 MySQL 错误日志中会包罗具体的启动错误信息。日志通常位于 MySQL 数据目录下,文件名雷同于 [code]mysql.err[/code] 或 [code]error.log[/code]。你可以打开该文件,查找任何与启动失败相关的错误。 日志文件通常位于: [code]# 路径为安装路径MySQL Server xx\Data\mysql.err下 C:\ProgramData\MySQL\MySQL Server 8.0\Data\mysql.err[/code]大概不是mysql.err,需要看一下mysql.ini中配置,我的配置中文件名称为log-error="DESKTOP-ONBJR20.err" 可以通过下面命令查看文件内容: [code]type DESKTOP-ONBJR20.err # 大概 more DESKTOP-ONBJR20.err[/code]
从错误日志来看,MySQL 在启动过程中遇到了几个问题,导致无法成功启动。这是关键的错误信息:
办理方案 1、修复 [code]TCP/IP[/code] 或 [code]Named Pipe[/code] 配置 你可以确保 MySQL 正确使用 [code]TCP/IP[/code],这是大多数情况下的首选方式。检查 [code]my.ini[/code] 中的网络设置。打开 [code]my.ini[/code] 文件,确保以下设置存在且正确: [code][mysqld] bind-address=127.0.0.1 enable-named-pipe[/code]2、修复 InnoDB 相关错误 [code]InnoDB[/code] 错误通常表明数据库文件或事务日志大概破坏。打开 [code]my.ini[/code] 文件,添加以下配置来禁用 InnoDB 的规复检查: [code][mysqld] innodb_force_recovery=0[/code]innodb_force_recovery 可以有 1 到 6 的值,分别对应差别的规复力度。假如 1 无效,你可以逐渐增加到 2 或 3 尝试规复,但避免使用更高的值(如 4-6),这些大概导致数据丢失。
2.3 重新打开另一个命令提示符窗口,登录 MySQL
2.4 重置 root 暗码登录成功后,使用以下 SQL 命令重置 [code]root[/code] 用户的暗码: [code]USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES;[/code]将 [code]new_password[/code] 更换为你想要设置的新暗码。 2.5 关闭 MySQL 跳过权限表的模式并重启服务
2.6 使用新暗码登录如今你可以使用新的暗码登录: [code]mysql -u root -p [/code]输入你刚才设置的暗码,应该可以成功登录。 总结
以上就是重置MySQL 8.0 Root暗码的简便方法小结的具体内容,更多关于重置MySQL 8.0 Root暗码的资料请关注脚本之家别的相关文章! 来源:https://www.jb51.net/database/328744uk1.htm 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |
|手机版|小黑屋|梦想之都-俊月星空
( 粤ICP备18056059号 )|网站地图
GMT+8, 2025-7-2 01:03 , Processed in 0.035939 second(s), 19 queries .
Powered by Mxzdjyxk! X3.5
© 2001-2025 Discuz! Team.