Mysql root 账号如何重置密码

Mysql root 账号如何重置密码,第1张

今日分享主题:mysql root账号如何重置密码

前两天发现我的 mysql 数据库突然无法登录,但是上周还使用得是正常的,经过一番查找还是没有找到问题的原因。

DBA 给我的解释:我怀疑主机重启后,某些文件(user.*)就丢了,不知道啥原因。我记得之前你也是重启后遇到过相同问题。

既然这样,只好重置 root 账号密码了。具体 *** 作步骤如下

Step1:停止 mysql 服务

命令:systemctl stop mysqld #停掉MySQL

命令:systemctl status mysqld #查看状态

Step2:修改/etc/my.cnf配置,添加 skip_grant_tables=1 启动设置,注意要在[mysqld]行所在的下面添加。

Step3:重启 mysql 并查看状态

systemctl start mysqld

systemctl status mysqld

Step4:使用 mysql 命令连接到 mysql 服务器,重新设置root密码

use mysql #进入mysql数据库 select * from user#查询user表 查看是否有root账号,如果没有就需要 *** 作如下insert into 语句:

如果 user 表里面有 root 账号,则直接可以重置密码。

命令如下:update user set authentication_string=password('test123') where user='root'

FLUSH PRIVILEGES#刷新授权列表

再输入 exit 退出mysql

Step5:将步骤2中/etc/my.cnf 文件中添加的 skip_grant_tables=1 启动设置去掉,再执行一个systemctl restart mysql 命令重启 mysql 服务。

Step6:使用重置后的密码再登录时问题解决。

如果不幸忘记或丢失了 MySQL root用户的密码,需要一种方法来以某种方式恢复它。 我们需要知道的是密码存储在用户表中。 这意味着我们需要想办法绕过 MySQL 认证,这样我们才能更新密码记录。

幸运的是,有一个简单的实现,本教程将指导您完成在 MySQL 8.0 版本中恢复或重置 root 用户密码的过程。

根据 MySQL 文档,有两种方法可以重置root用户的密码。其中一种方法是使用 --skip-grant-tables 选项启动 MySQL 服务。 这不太安全,因为当服务以这种方式启动时,所有用户都可以在没有密码的情况下进行连接,不过这种方法比较简单,我们首先来看看这种方法。

如果服务器启动--skip-grant-tables,--skip-networking 选项会自动激活,因此远程连接将不可用。

首先停止MySQL服务

使用 选项 --skip-grant-tables 启动MySQL服务

然后,您只需运行mysq即可连接到mysql服务器。

由于使用 --skip-grant-tables 选项启动服务时禁用了帐户管理,因此我们将不得不重新加载授权。 这样我们以后就可以更改密码:

现在可以运行以下查询来更新密码。 确保将“new_password”更改为您希望使用的实际密码。

现在停止 MySQL 服务器,然后正常启动它。

现在使用新密码再次连接MySQL

启动mysqld时,如果遇到下面的错误

搜索一番,参考文章2和3给出了各种可能性,通过查询可以看出确实有个mysqld服务未关闭,可是之前我确实关闭了mysql,不知道怎么回事。

只能通过kill命令杀死mysql

1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql

2,在CMD命令行窗口,进入MYSQL安装目录 比如E:\Program Files\MySQL\MySQL Server 5.0\bin

示范命令:

输入 e:回车,

输入cd "E:\Program Files\MySQL\MySQL Server 5.0\bin"

注意双引号也要输入,这样就可以进入Mysql安装目录了.

3,进入mysql安全模式,即当mysql起来后,不用输入密码就能进入数据库。

命令为: mysqld-nt --skip-grant-tables


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6140719.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存