停止MySQL服务:Linux用sudo systemctl stop mysql,Windows在服务中停止或执行net stop mysql。2. 跳过权限启动:Linux运行sudo mysqld --skip-grant-tables --skip-networking &,Windows以管理员身份运行mysqld --skip-grant-tables --console。3. 无密码登录并改密:mysql -u root进入后执行FLUSH PRIVILEGES;,根据版本用ALTER USER或UPDATE语句设置新密码。4. 重启服务:关闭跳过权限的进程,正常启动MySQL,用新密码登录验证。

MySQL密码忘了不用慌,可以通过跳过权限验证的方式重置密码。整个过程不会丢失数据,只要按步骤操作即可恢复访问。以下是适用于Windows和Linux系统的完整重置流程。
要修改密码,先得停止正在运行的MySQL服务。
Linux系统:打开终端,执行以下命令:
或(根据发行版不同):
按下 Win + R,输入 services.msc,找到 MySQL 服务,右键选择“停止”。
或者在命令提示符(以管理员身份运行)中执行:
如果服务名是 mysql80 或其他,请使用对应名称。
这一步是关键,让MySQL不加载权限表,从而无需密码登录。
Linux系统:进入MySQL的bin目录(通常为 /usr/bin/),然后运行:
--skip-grant-tables 表示跳过权限检查,--skip-networking 防止其他用户趁机登录,提升安全性。
Windows系统:以管理员身份打开命令提示符,进入MySQL的bin目录(如 C:\Program Files\MySQL\MySQL Server 8.0\bin),执行:
这个命令会占用当前窗口,不要关闭它。
新开一个终端或命令行窗口,连接MySQL。
此时应该能直接进入MySQL命令行界面。
接下来刷新权限表(必须先执行):
然后根据你的MySQL版本设置新密码:
MySQL 5.7 及以下:如果你不确定用户主机,可以先查一下:
如果有 'root'@'%' 也需要更新:
改完后执行:
关闭之前用 --skip-grant-tables 启动的进程,然后正常启动MySQL。
Linux系统:现在可以用新密码登录测试:
基本上就这些。整个过程安全可靠,关键是注意版本差异,尤其是MySQL 8.0之后的认证方式变化。操作时别忘了刷新权限,不然修改可能不生效。
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号