每天的进步,离不开大家的监督。监督地址https://www.wslhome.top
虽然明天就要开学了,一个人在家里太无聊。还是来写写今天的踩坑日记。祝我明天一入高校门,待我出门凯旋归。
问题描述:
今天准备给mysql改一下密码,结果出现了这个问题。一脸懵逼的解决了好几个小时,写在来,防止下次忘记
docker+mysql+springboot出现的这个问题。大概为:
HikariPool-1 - Exception during pool initialization.
java.sql.SQLException: Access denied for user 'root'@'ip' (using password: YES)
解决方案:
将springboot中的yml文件改为properties文件。
原因:
yml虽然直观清晰,但是文件在解析时候会出现部分问题,例如在解析时候会将000000解析为一个0。而在读取数据库密码时候小数点也无法解析(我属于数据库小数点问题)
除此之外还可能出现的原因:
- 数据库配置时候url、username、password等等参数是否配置正确
- 输入密码时错误或者用户名不存在。
- docker容器中mysql没有启动成功,或者是没有对root授权。 解决方案:
docker exec -it Mysql bash mysql -u root -p grant all privileges on . to root@'%' identified by '123456' with grant option; flush privileges; exit
如果是安装在linux上,不是容器中。网上给出的方案:
找到ym.ini.在【mysqld】下面增加:
skip-grant-tables
重启服务:
- net stop mysql
- net start mysql
登陆:
mysql -uroot mysql
修改密码:
mysql > update user set authentication_string = password(‘123456’) where user = ‘root’ and Host = ‘localhost’
刷新权限:
mysql > flush privileges;
重启,登陆