mysql8.0忘记密码如何找回
如果你忘记了 MySQL 8.0 的密码,别担心,下面我将提供一些方法来找回密码。注意,这些方法只适用于你有进入服务器的权限。
方法一:使用 "mysql_native_password" 加密方式登录
MySQL 8.0 默认使用 "caching_sha2_password" 加密方式。如果你没有设置 "mysql_native_password" 加密方式,你可以使用以下步骤来登录并修改密码:
1. 在终端输入以下命令以 root 身份登录数据库:
sudo mysql -u root
2. 输入以下 SQL 命令更改加密方式:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new_password';
上述命令将已存在的用户 "root" 和本地 IP 地址 "localhost" 身份验证方式更改为 "mysql_native_password",并设置新的密码 "new_password"。
3. 退出终端,然后使用新密码重新登录 MySQL 8.0。
方法二:使用跳过身份验证模式登录
如果你没有为 MySQL 8.0 设置跳过身份验证模式,并且忘记了登录密码,你可以通过以下步骤使用跳过身份验证模式来登录:
1. 停止 MySQL 8.0 服务。
sudo systemctl stop mysql
2. 在终端输入以下命令,使用跳过身份验证模式启动 MySQL 8.0:
sudo mysqld_safe --skip-grant-tables &
3. 在终端输入以下命令以 root 身份登录数据库:
mysql -u root
4. 使用以下 SQL 命令更改用户 "root" 身份验证方式,并重置新密码:
USE mysql;
UPDATE user SET authentication_string=PASSWORD('new_password') WHERE User='root';
FLUSH PRIVILEGES;
上述命令将用户 "root" 的身份验证方式更改为 "PASSWORD",并设置新密码 "new_password"。
5. 退出 MySQL 8.0。
exit
6. 重启 MySQL 8.0 服务。
sudo systemctl start mysql
7. 使用新密码重新登录 MySQL 8.0。
总结
以上是两种找回 MySQL 8.0 密码的方法, 种方法适用于你没有设置 "mysql_native_password" 加密方式的情况,第二种方法适用于你忘记了登录密码的情况。如果两种方法都不适用于你的情况,请参考 MySQL 官方文档或者寻求专业的数据库维护人员的帮助。
