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服务器:\x0d\x0asafe_mysqld --skip-grant-tables&\x0d\x0a即可跳过MySQL的访问控制,任何人都可以在控制台以管理员的身份进入MySQL数据库。\x0d\x0a需要注意的是在修改完密码以后要把MySQL服务器停掉重新启动才会生效\x0d\x0a先找到mysql.server 然后停止mysql服务\x0d\x0a# mysqld_safe --skip-grant-tables --skip-networking &\x0d\x0a# mysql\x0d\x0a>use mysql\x0d\x0a>update user set password=PASSWORD("new-password") where user="root"\x0d\x0a>flush privileges


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存