重置MySQL 8.0 Root密码的简便方法小结 |
在Windows环境下安装MySQL数据后,如果忘记了 MySQL 8.0 的 root 密码,不必担心!通过 --skip-grant-tables 和 named-pipe 模式登录后,只需几步简单的 SQL 命令即可重置密码:刷新权限表、修改密码、再刷新权限,最后重启 MySQL 服务,你就能使用新密码顺利登录数据库! 问题如下: 出现
解决方案1. 检查是否输入正确的密码确认你输入的密码是否正确,注意以下几点: 确认你输入的密码是否正确,注意以下几点:
2. 使用“跳过权限表”的方式重置 root 密码如果你确认密码正确但仍然无法登录,或者你忘记了 2.1 停止 MySQL 服务在 Windows 下,你可以通过命令提示符停止 MySQL 服务: net stop mysql 如果你使用的是不同的 MySQL 服务名称(如 net stop mysql80 问题一:如果执行net stop mysql后,出现“C:Usersadmin>net stop mysql80 发生系统错误 5 。 拒绝访问 。” 出现 解决方法: 方法一:以管理员身份运行命令提示符 Windows 中的一些操作(如启动和停止服务)需要以管理员权限执行 。请按以下步骤操作:
net stop mysql80 或者,如果你的 MySQL 服务名称是 net stop mysql
在某些情况下,MySQL 的服务名称可能不是
sc query 在返回的列表中找到类似 或者,你可以专门查找 MySQL 服务: sc query | findstr /i "mysql" 找到正确的服务名称后,再使用正确的服务名称来停止 MySQL 服务 。 方法二:使用 Windows 服务管理器停止 MySQL 服务 如果不方便通过命令行操作,也可以使用 Windows 服务管理器来停止 MySQL 服务:
2.2 以跳过权限表模式启动 MySQL使用 --skip-grant-tables 选项启动 MySQL 。这个选项允许你在没有密码的情况下登录 MySQL 。
mysqld --skip-grant-tables 问题二:执行 执行 mysqld --skip-grant-tables 命令,再执行mysql -u root,出现ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost:3306' (10061),表明 MySQL 服务并未成功启动 。 排查原因和解决方法: 1. 确认 MySQL 是否成功启动 执行 在执行该命令时,请查看是否有错误输出 。如果启动失败,可能会遇到类似以下问题:
如果没有看到任何输出,可以查看 MySQL 错误日志 。 2. 查看 MySQL 错误日志 MySQL 错误日志中会包含详细的启动错误信息 。日志通常位于 MySQL 数据目录下,文件名类似于 日志文件通常位于: # 路径为安装路径MySQL Server xxDatamysql.err下 C:ProgramDataMySQLMySQL Server 8.0Datamysql.err 可能不是mysql.err,需要看一下mysql.ini中配置,我的配置中文件名称为log-error="DESKTOP-ONBJR20.err" 可以通过下面命令查看文件内容: type DESKTOP-ONBJR20.err # 或者 more DESKTOP-ONBJR20.err
2024-09-24T03:22:02.873676Z 0 [ERROR] [MY-010131] [Server] TCP/IP, --shared-memory, or --named-pipe should be configured on NT OS 2024-09-24T03:22:02.873977Z 0 [ERROR] [MY-010119] [Server] Aborting 2024-09-24T03:22:04.080405Z 0 [ERROR] [MY-013183] [InnoDB] Assertion failure: trx0sys.cc:643:UT_LIST_GET_LEN(trx_sys->mysql_trx_list) == 0 thread 32636 从错误日志来看,MySQL 在启动过程中遇到了几个问题,导致无法成功启动 。这是关键的错误信息:
解决方案 1、修复 你可以确保 MySQL 正确使用 [mysqld] bind-address=127.0.0.1 enable-named-pipe 2、修复 InnoDB 相关错误
[mysqld] innodb_force_recovery=0 innodb_force_recovery 可以有 1 到 6 的值,分别对应不同的恢复力度 。如果 1 无效,你可以逐渐增加到 2 或 3 尝试恢复,但避免使用更高的值(如 4-6),这些可能导致数据丢失 。
2.3 重新打开另一个命令提示符窗口,登录 MySQL
mysql --protocol=PIPE -u root
2.4 重置 root 密码登录成功后,使用以下 SQL 命令重置 USE mysql; ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password'; FLUSH PRIVILEGES; 将 2.5 关闭 MySQL 跳过权限表的模式并重启服务
net start mysql 2.6 使用新密码登录现在你可以使用新的密码登录: mysql -u root -p 输入你刚才设置的密码,应该可以成功登录 。 总结
以上就是重置MySQL 8.0 Root密码的简便方法小结的详细内容,更多关于重置MySQL 8.0 Root密码的资料请关注其它相关文章! |