JAVA关于mysql修改密码后仍然无法登陆的解决

哈喽,大家好,好久都没来发文,疫情期间自我管理还是很好,希望小伙伴们也能好好的保护自己,为祖国贡献绵薄之力。
当然,足不出户是常态,即使没有疫情咱也不出门,不过还是有不同的感觉,在全国都奋斗的带动下,学习动力是越来越足了,所以开始研究了java springboot,真是简单,啥都不用了解就能写出来,赞!

咱也不懂原理,mysql报错

#Access denied for user ‘root’@‘localhost’ (using password: YES)
看了好多博文,都说YES就是输入的密码正确,其实不然,只是说你输入了密码,正确不正确并不知道。

这里划重点,遇到报错先看log文件

linux文件地址在/var/log/mysqld.log,使用Xftp可以轻松下载本地查看
Xshell之类的不需要,因为电脑自带的cmd就可以通过SSH去连接服务器。

下面开始说一下自己一步步踩坑的过程(以linux为例):
一、遇到这个报错,首先做的就是修改密码

1、linux的mysql配置文件在/etc/my.cnf,在[mysqld]下面添加
skip-grant-tables
2、这样可以在登录mysql 的时候跳过密码验证,然后执行
service mysqld restart
mysql
use mysql;
3、修改密码的时候,要根据自己的版本去输入正确的语句:
其他博文错误的地方就在这里,大多数在password后少括号,导致修改密码后还是登录不上数据库。
mysql5.7以前用下面这句:

update mysql.user set password=password(‘123456’) where user=‘root’;

mysql5.7及以后用这一句:

update mysql.user set authentication_string=password(‘123456’) where user=‘root’;

flush privileges;
quit;
接下来再把配置文件中的那句跳过密码验证的去掉,重启mysql,一般情况就没有问题了。

二、遇到其他的报错

1、InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log
这个错误是mysql 的线程被占用了,使用ps -ef|grep mysql查找占用的端口号,再使用kill -9 端口号去杀掉该进程,重启mysql即可恢复正常。
另外还可以在my.cnf里面添加port=3306来设置mysql 的端口号
2、Found invalid password for user: ‘root@localhost’; Ignoring user
其实这个错误就是因为修改密码的时候输错了指令导致,按照上面的正确步骤再修改一次即可。

基本上这么做就可以解决mysql登录不上去的问题了,接下来就是Navicat远程访问了

1、开启远程访问权限
grant all privileges on . to root@’%'identified by ‘你的密码’;
我这里遇到报错
Your password does not satisfy the current policy requirements
字面上意思就知道是密码太简单了,不符合规则。

当时我没看清,直接使用
SET PASSWORD = PASSWORD(‘123456’);
结果自然是不行,报错!果然新版本就是不一样
You must reset your password using ALTER USER statement before executing this statement.
ALTER USER USER() IDENTIFIED BY ‘123456’;
可是大家知道,123456这么简单的密码怎么可能通过呢,经过种种实验,最终发现,需要大写小写符号数字都有。
当然,如果你不想弄这么复杂的密码,可以使用下面的方式修改规则
SHOW VARIABLES LIKE ‘validate_password%’;
就可以看到什么8位长度之类的参数,其中有个validate_password_policy规则的等级,设置为low就是最简单的密码。
set global validate_password_policy=LOW;
然后重新设置密码。
2、使用SSH连接mysql
可以在Navicat中设置SSH,这样就直接连上了,成功!

好了,本次就记录这么多,接下来搞不懂的是nginx反向代理tomcat了,感觉这是没涉及过的领域呢,头疼…要不先不研究这个反向代理吧。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值