如何绕过mysql密码验证,忘记密码及mysql不慎将自己修改在登录权限之外的解决方法

阅读: 评论:0

如何绕过mysql密码验证,忘记密码及mysql不慎将自己修改在登录权限之外的解决方法

如何绕过mysql密码验证,忘记密码及mysql不慎将自己修改在登录权限之外的解决方法

场景一:mysql不慎将自己修改在登录权限之外

部署mysql到云服务器,对于远程连接的问题,看到有大佬说在mysql的名为’mysql’数据库中直接更改权限,即

use mysql;
update user set Host='%' where User='root';

其中,% 代表任意的客户端,可替换成具体IP地址。
这里我不小心将%换错了地址(即不是本地的,也不是云服务器的),这种情况下,是无法登录数据库的。

场景二:忘记密码

这种情况不用多说,肯定无法登录数据库。

以上两种场景都可以通过绕过mysql密码验证来解决。

绕过mysql密码验证

检查数据库是否是启动状态,如果是启动状态先停止服务

service mysqld stop 

找到即数据库配置文件:

vi /etc/myf

在myf文件内添加:

skip-grant-tables

如果原来由但是被注释掉了,去掉注释符号#即可。
启动mysql:

service mysqld start

登录mysql:

mysql -uroot -p

提示输入密码,不用管,这时候直接点回车。

修改root账户的密码:

update mysql.user set authentication_string=password('123456') where User="root" ;  
flush privileges;  #刷新系统授权表

这里注意此时密码可以是很简单的组合,但如果是没有配置文件的这句skip-grant-tables,再用上述语句修改密码必须遵守mysql的安全规则,即

必须包含大小写字母、特殊符号、数字,并且长度大于8位

这样最开始说的那两种情况即可得到解决。
ps:这样操作了以后若客户端可能会出现无法连接的情况,请进行授权:

grant all privileges on *.* to root@'%'; #授权root账户远程访问权限  
flush privileges;   #刷新系统授权表 

本文发布于:2024-01-29 03:22:47,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170646977012354.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23