如果你忘记了 MySQL 8.0 的 root 密码,可以通过以下步骤来重置密码。请注意,这些步骤需要你有对 MySQL 服务器的物理或命令行访问权限。
步骤 1: 停止 MySQL 服务
首先,你需要停止正在运行的 MySQL 服务。你可以使用以下命令来停止 MySQL 服务:
sudo systemctl stop mysqld
步步 2: 启动 MySQL 服务跳过权限表
接下来,你需要启动 MySQL 服务并跳过权限表检查。这可以通过添加
--skip-grant-tables
选项来实现。你可以使用以下命令来启动 MySQL 服务:
sudo mysqld_safe --skip-grant-tables &
或者在某些系统上可能是:
sudo mysqld --skip-grant-tables --user=mysql &
步骤 3: 连接到 MySQL 服务器
现在,你可以使用
mysql
客户端连接到 MySQL 服务器,而不需要密码。打开一个新的终端窗口并运行以下命令:
mysql -u root
步骤 4: 重置密码
连接到 MySQL 服务器后,你需要选择
mysql
数据库并更新
root
用户的密码。请注意,MySQL 8.0 使用
caching_sha2_password
作为默认的身份验证插件,因此你需要使用
ALTER USER
语句来设置新密码。
FLUSH PRIVILEGES;USE mysql;ALTERUSER'root'@'localhost' IDENTIFIED BY'new_password';
步骤 5: 重启 MySQL 服务
完成密码重置后,你需要正常重启 MySQL 服务以重新启用权限表检查。停止当前的 MySQL 服务并正常启动它:
sudokillall mysqld
sudo systemctl start mysql
步骤 6: 验证新密码
最后,验证新密码是否生效。尝试使用新的密码登录 MySQL 服务器:
mysql -u root -p
输入你在步骤 4 中设置的新密码,如果一切正常,你应该能够成功登录。
注意事项
- 在执行这些步骤时,请确保你有足够的权限来停止和启动 MySQL 服务。
- 如果你的 MySQL 服务器是远程服务器,请确保你有足够的权限进行这些操作。
- 如果你在生产环境中操作,请务必小心,并确保在操作前备份重要数据。
版权归原作者 lzyever 所有, 如有侵权,请联系我们删除。