美文网首页MySQL问题解决
忘记Mysql用户密码怎么办

忘记Mysql用户密码怎么办

作者: 倚南_Determined | 来源:发表于2019-06-23 11:16 被阅读0次

我的Mysql数据库在云服务器上,很久没有使用了,现在换了新的电脑 找不到原来的密码。

我先用Xshell通过主机名(ip地址) +linux的用户密码连接到主机

登陆shell连接服务器

找到MySQL配置文件,我的是MySQL5.7,在

mysqld.cnf位置

打开之后需要在 [mysqld] 下面添加这样一条命令

skip-grant-tables

 这大概是mysql的用户权限表

vim操作就不详细说了,相信大家都会,:wq保存退出。

然后重启数据库,我的命令是

service mysql restart

输入

mysql -u root -p 

然后他会叫你输入密码,直接敲回车就可以,不出意外就进去了

跳过密码登录MySQL

然后use mysql 切换到mysql数据库,没错就是mysql数据库的mysql数据库,它里面有个user表 下面执行sql语句

update user set authentication_string=password('123456') where user='root';

将authentication_string 设成 123456?大概是这意思,它说query ok ,1row affected 意思就是真的OK了 不信的话你可以select查询一下

然后

flush privileges;

输入这个刷新 一下权限。(很重要!!!)

然后

 vim /etc/mysql/mysql.conf.d/mysqld.cn

把配置文件改回去,保存退出之后,再次重启数据库

然后正常登录发现 密码123456能够正常登录,不输入密码的却不行了。

借鉴:https://baijiahao.baidu.com/s?id=1598051082885355242&wfr=spider&for=pc

备注:(摘抄,如果有错误的话)

如果出现:ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

意思就是说你密码现在的规则不行,规则什么不行呢?比如密码长度啊,是否纯数字啊 大小写混用啊 等等。别急有办法解决。这时候你只需要:

set global validate_password_policy=0; set global validate_password_mixed_case_count=2;

这下哈哈了吧 policy 0就是纯数字OK的

case_count =2,就是最低8位密码,如果是1或者小于1默认最低4位密码。

相关文章

网友评论

    本文标题:忘记Mysql用户密码怎么办

    本文链接:https://www.haomeiwen.com/subject/stdiqctx.html