Linux mysql忘记密码找回

Linux mysql忘记密码找回

背景

今有一朋友说把数据库密码忘记了,准备卸载了重装,我一听完全可以找回密码,没必要重装。于是他就把服务器信息给我了。服务环境是:centOS 7,mysql5.6
话不多说,直接干货走起~

实现步骤

  1. 检查mysql是否启动,启动则停止mysql服务
ps -ef | gre mysql

在这里插入图片描述
停止mysql服务

service mysqld stop
  1. 修改mysql配置文件my.cnf
    在这里插入图片描述
    在此处加上:skip-grant-tables
    此处多说两句Linux命令:vi命令之后
    i – 键入可操作
    esc-- 退出可操作,esc后 :wq表示保存 q!表示不保存

  2. 重启mysql

service mysqld start
  1. 进入mysql数据库
mysql -u root
区分一下:mysql -u root -p --- 需要输入密码访问 
  1. 切换数据库
use mysql
继续运行:UPDATE user SET Password = Password('new_pwd' ) WHERE User = 'root';

说明一下:今天老白在网上找到的这个执行语句普遍是提供的:update mysql.user set authentication_string=password(‘new_pwd’) where user=‘root’; 尝试了两次还是不行,后面用连接工具看了一下mysql库下的user表,对比字段才发现了问题。

有兴趣的可尝试看一下是否可以直接使用Password函数获取加密信息,强行修改user表信息

  1. 把步骤二中添加的东西删除,重启mysql服务,测试使用刚才修改的密码是否可以进入
mysql -u root -p
  1. 说一句后话:开始连接的时候我发现服务器上mysql服务是启动的,在服务器内部使用mysql命令也没有任何问题,唯独使用连接工具不能连接。于是猜测是防火墙问题,补充几个Linux防火墙命令。
firewall-cmd --zone=public --remove-port=8080/tcp --permanent  -- 移除端口
firewall-cmd --zone=public --add-port=9090/tcp --permanent   -- 新增开放端口
systemctl restart firewalld.service  -- 防火墙重启

本次技术分享到此结束,如有不当之处,欢迎大家留言指正。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值