linux中MySQL忘记密码怎么办

我们在安装使用MySQl 时,有时可能避免不了忘记密码,如果你忘记密码,可以按照如下方案进行操作:

我使用的MySQL版本:MySQL5.7.34

1、关闭mysql服务

查看MySQL进程,pkill -9 mysqld  先杀死进程

 查看一下端口是否存在,不存在则进行下面操作。

2、修改my.cnf文件配置

找到my.cnf配置文件

[root@mysql mysql]# vim /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
skip-grant-tables      加上这一行(跳过授权表)

之所以有用户名有密码就是因为有授权表的存在,它的表里面记录了用户名和密码。有账户去登录MySQL数据库的时候它先去查看那张表,现在就直接跳过去,不看了,直接就登录了。

3、重启mysql服务
[root@mysql mysql]# bin/mysqld_safe --user=mysql &

  4、无密码登录mysql进行操作

[root@mysql mysql]# bin/mysql   拿客户端去连mysql会发现直接就进去了不需要输入用户名密码

5、MySQL客户端连接服务器并修改密码

[root@mysql ~]# /usr/local/mysql/bin/mysql

拿客户端去连MySQL会发现直接就进去了不需要输入用户名密码

mysql> select user,host,authentication_string from mysql.user;

user的表在mysql数据库里面,这是一个查询不是修改,查到之后去把 authentication_string认证字符串修改一下用password函数修改一下,里面就是新密码。

红框部分是认证字符串,目前是处于加密状态,

mysql> update mysql.user set authentication_string=password('Helloworld456!') where user='root';  

 给root账户修改,这个root账户是mysql里面的root账户和系统里面的root账户完全不搭边,是mysql最高级的账户,跟系统里面roo账户的级别是一样的。

现在密码已经被改掉了,想要立即生效就执行下面操作。

mysql> flush privileges;    这个是刷新一下上面的用户授权表,其实就是让它立即生效。

mysql> exit      退出 

6、使用新密码进行登录

[root@mysql mysql]# bin/mysql -u root -p'Helloworld456!'

退出之后再次重启mysql,因为之前的mysql用的skip-grant-tables  跳过授权表了,不能让它一直有这个配置,不然每次一重启就不用密码了,太危险。所以得把这个配置取消掉,然后在重启服务,再以正常的方法登录。

新版本不MySQL重启服务,新密码也会直接生效,本机测试版本为5.7.34

7、重启MySQL服务

[root@mysql mysql]# pkill -9 mysqld

 [root@mysql mysql]# bin/mysqld_safe --user=mysql &    启动MySQL服务

重启MySQL服务会发现,使用bin/mysql不需要密码直接就登录到MySQL了,这样太危险 

8、修改my.cnf配置文件

[root@mysql mysql]# pkill -9 mysqld  停止MySQL服务

[root@mysql mysql]# vi /etc/my.cnf      在这个配置文件中,把跳过授权表这一行删掉,不要注释,删完之后重新启动MySQL服务,重新登录MySQL服务,没有密码就进不去

9、重启并登录MySQL

[root@mysql mysql]# bin/mysqld_safe --user=mysql &  重新启动MySQL服务

[root@mysql mysql]# bin/mysql  这时无密码登录MySQL,会提示需要输入密码

10、使用新密码登录

[root@mysql mysql]# bin/mysql -u root -p'Helloworld456!'

 MySQL修改密码成功。

【注意】请不要因为没有掌声就放弃梦想。

  • 14
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

你是我的导航

谢谢您的打赏,您的鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值