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数据库密码忘记了,第一可以通过修改文件配置来重新设置密码,第二可以重新下载mysql就可以重新设置密码了。在我们使用数据库的时候通常都会使用root用户登录,所以就需要设置密码,但是这个密码是不可见的,而且在使用Navicat Premium连接数据库的时候也需要使用密码才可以连接。当我们忘记密码时,我们有两种办法来解决。

第一打开mysql.exe和mysqld.exe所在的文件夹,复制路径地址,按win+R打开cmd命令提示符并进入刚刚所复制的路径中,输入命令mysqld --skip-grant-tables,然后敲回车,此时就跳过了用户验证过程,注意:输入此命令之后该命令窗口就无法操作了,此时应该从新再打开一个新的命令窗口。在输入此命令之前先在任务管理器中(ctrl+alt+del)结束mysqld.exe进程。然后直接在命令行输入mysql,不需要带任何登录参数和密码,直接回车就可以登录上数据库。 输入show databases;可以看到所有数据库的内容就说明已经登录成功了,就可以使用了。如果想更改root密码,输入update user set password=password('123456') where user='root' and host='localhost'就可以修改密码了。

第二可以将电脑中的mysql文件夹和程序都删除,重新下载并配置mysql,这样你的数据库就是一个新的无密码的数据库了。

方法1 用SET PASSWORD命令

1

1、打开终端win+r输入cmd回车即可打开;

2、通过mysql -u用户名 -p指定root用户登录MySQL,输入后回车会提示输入密码。

3、修改MySQL的root用户密码,格式:mysql>set password for 用户名@localhost = password('新密码')例子:mysql>set password for root@localhost = password('shapolang')上面例子将用户root的密码更改为shapolang ;

重新登录,输入新密码shapolang就ok了;

END

方法2 用mysqladmin

1

1、打开终端win+r输入cmd回车即可打开;

2、修改MySQL的root用户密码格式:mysqladmin -u用户名 -p旧密码 password 新密码 例子:mysqladmin -uroot -pshapolang password 123456

上面例子将用户root原来的密码shapolang改为新密码123456

重新登录,输入新密码123456就ok了;

END

方法3 用UPDATE直接编辑user表

1

1、首先登录MySQL。

2、 连接权限数据库: use mysql。3、改密码:update user set password=password("shapolang") where user="root"(别忘了最后加分号) 。 4、刷新权限(必须步骤):flush privileges

重新登录,输入新密码shapolang就ok了;

END

方法4 忘记root密码的时候

1、关闭正在运行的MySQL服务。

2、打开DOS窗口,转到mysql\bin目录。 3、 输入mysqld --skip-grant-tables 回车。--skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。 4、再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),输入mysql回车,如果成功,将出现MySQL提示符 >。 6、连接权限数据库: use mysql。 7、改密码:update user set password=password("root") where user="root"(别忘了最后加分号) 。 8、刷新权限(必须步骤):flush privileges 。 9、退出 quit。

重启mysql服务,使用用户名root和刚才设置的新密码root登录就ok了;

步骤阅读

END

注意事项

mysql相关命令如果无法执行,可以将命令所在目录加入环境变量中,或者进到命令所在目录再执行


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/138274.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存