mysql忘记密码了咋办 (mysql忘记密码登录)

mysql忘记密码怎么重新设置密码,mysql忘记密码怎么找

1、通过配置文件修改

mysql的配置文件一般存在/etc目录下,完整文件名为:/etc/my.cnf。

如果在/etc目录下没找到,或者你不确定配置文件存在哪里,可以用命令查找。

whereis命令来查找

# 终端命令行输入以下命令
$ whereis my.cnf
my: /etc/my.cnf

find命令来查找

# 终端命令行输入以下命令
$ find / -name my.cnf
/etc/my.cnf

接下来,我们打开my.cnf配置文件,在 [mysqld]下面添加语句:

skip-grant-tables

保存并关闭文件。

my.cnf配置文件修改完之后是不会自己生效的,我们要重启mysql服务,它才会生效。

在终端命令行输入以下命令来重启mysql服务:

systemctl restart mysql

也有可能是这个命令,这个要看你是怎么安装的:

systemctl restart mysqld

反正两个命令,一个不行,你换另外一个就可以了。

重启完之后,登录mysql并修改密码。

在终端命令行输入以下命令登录mysql:

mysql -uroot -p

直接回车,就登录进去了。

接着,输入sql语句修改密码。

先flush一下:

FLUSH PRIVILEGES;

输入修改密码的sql语句:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

这里,将new_password替换为你想要设置的新密码。

然后,退出:

QUIT;

密码改完了,在回到my.cnf配置文件这里,把前面添加的skip-grant-tables删除掉或注释掉,保存文件。

最后,再重启mysql服务:

systemctl restart mysqld

好了,现在可以使用新密码重新登录了。

2、使用安全模式重置密码

安全模式会跳过权限验证,我们可以以管理员身份登录数据库。在我们忘记了mysql密码的情况下,我们可以完全通过启动mysql的安全模式来重置密码。

接下来,我们在终端命令行中输入以下命令,来启动安全模式:

mysqld_safe --skip-grant-tables &

接着,同样,在终端命令行输入以下命令登录mysql:

mysql -uroot -p

直接回车,就登录进去了。

先flush一下:

FLUSH PRIVILEGES;

输入修改密码的sql语句:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';

这里,将new_password替换为你想要设置的新密码。

然后,退出:

QUIT;

最后,同样再重启一下mysql服务:

systemctl restart mysqld

完事,现在也可以使用新密码重新登录了。