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:使用重置后的密码再登录时问题解决。

1、编辑MySQL配置文件:

windows环境中:%MySQL_installdir%\my.ini //MySQL安装目录下的my.ini配置文件。

linux环境中:/etc/my.cnf

在[MySQLd]配置段添加如下一行:skip-grant-tables

保存退出编辑。

2、然后重启MySQL服务

windows环境中:

net stop MySQL

net start MySQL

linux环境中:

/etc/init.d/MySQLd restart

3、设置新的ROOT密码

然后再在cmd命令行下执行:

MySQL -uroot -p MySQL

要求输入密码时直接回车无需密码即可进入数据库了。

现在我们执行如下语句把root密码更新为 123456:

update user set password=PASSWORD("123456") where user='root'

quit 退出MySQL。

4、还原配置文件并重启服务

然后修改MySQL配置文件把刚才添加的那一行(skip-grant-tables)删除。

再次重起MySQL服务,即可

二.修改MySQL的用户名和密码:(未证实)

方法一:(适用于管理员或者有全局权限的用户重设其它用户的密码)

进入命令行模式

mysql -u root mysql

mysql>UPDATE user SET password=PASSWORD("new password") WHERE user='name'

mysql>FLUSH PRIVILEGES

mysql>QUIT

方法二:(应用同上,只是方法不同)

mysql -u root mysql

mysql>SET PASSWORD FOR name=PASSWORD('new password')

mysql>QUIT

最后必杀技:

mysqladmin -u root "old password" "new password"

注:以上name请用你的用户名来替代,new password请输入你想要设置的密码。


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

原文地址:https://54852.com/sjk/9904971.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存