mysql 用户和密码忘了怎么办_忘记Mysql用户密码怎么办

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

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

f7cd75ddc1e9

登陆shell连接服务器

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

f7cd75ddc1e9

mysqld.cnf位置

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

这大概是mysql的用户权限表

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

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

输入mysql -u root -p

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

f7cd75ddc1e9

跳过密码登录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查询一下

f7cd75ddc1e9

然后flush privileges;

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

f7cd75ddc1e9

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

f7cd75ddc1e9

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

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

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

如果出现: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位密码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值