小王踩坑记

2020-06-07

虽然明天就要开学了,一个人在家里太无聊。还是来写写今天的踩坑日记。祝我明天一入高校门,待我出门凯旋归。

问题描述:

今天准备给mysql改一下密码,结果出现了这个问题。一脸懵逼的解决了好几个小时,写在来,防止下次忘记

docker+mysql+springboot出现的这个问题。大概为:

 HikariPool-1 - Exception during pool initialization.
java.sql.SQLException: Access denied for user 'root'@'ip' (using password: YES)

image.png

解决方案:

将springboot中的yml文件改为properties文件。

原因:

yml虽然直观清晰,但是文件在解析时候会出现部分问题,例如在解析时候会将000000解析为一个0。而在读取数据库密码时候小数点也无法解析(我属于数据库小数点问题)

除此之外还可能出现的原因:

  1. 数据库配置时候url、username、password等等参数是否配置正确
  2. 输入密码时错误或者用户名不存在。
  3. 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

重启服务:

  1. net stop mysql
  2. net start mysql

登陆:

mysql -uroot mysql

修改密码:

mysql > update user set authentication_string = password('123456') where user = 'root' and Host = 'localhost'

刷新权限:

mysql > flush privileges;

重启,登陆


标题:小王踩坑记
作者:sirwsl
地址:https://www.wslhome.top/articles/2020/06/07/1591540161090.html