欢迎访问宙启技术站
智能推送

mysql8.0忘记密码如何找回

发布时间:2023-05-18 02:23:57

如果你忘记了 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 官方文档或者寻求专业的数据库维护人员的帮助。