神奇的数据库密码,写对了密码也连不上数据库?

现象

开始之前,先上一张图:

在这里插入图片描述

从图片中分析,你的第一判断是什么?坑定是数据库密码不对,改密码就行了!90%的情况下,你的判断是对的;下面我们来看下剩下的那10%怎么回事?

请记住下面这两个密码

  • 1e1
  • 2E2

yml神奇数字:由全数字和唯一的字母e组合成的字符串

设置数据库密码为上面任意一个,在spring boot 项目的yml配置文件里,修改数据库密码,尝试启动下项目,看看原先能访问数据库的接口,还能访问吗?

必定会报和上面图片中一样的错误,明明密码写对了,程序还会报密码不对,见鬼了吧。

跟踪代码看下, 1e1 密码 在程序加载后,变成了10.0,能连上数据库才是见鬼了,同样的,2E2在程序加载后,变成了200.0

神奇的数据库密码,写对了密码也连不上数据库? > image2022-6-7 14:32:58.png

神奇的数据库密码,写对了密码也连不上数据库? > image2022-6-7 14:35:44.png

原因

1e1、2E2在经过程序加载之后,变成了浮点型数据,和数据库密码不一致,出现密码写对了,连不上数据库的情况。

解决办法

  • 在yml文件中,配置密码的地方,为密码加上双引号,避免程序把他们处理成科学计数法
  • 修改数据库密码,不要出现全数字和字母e的组合

延伸

  • yml只要出现yml神奇数字的密码,就会出现上述情况;
  • 不光是密码项会如此,yml配置文件中,所有配置项,只要满足yml神奇数字,就会出现异常现象
  • yml神奇数字 本质上就是科学计数法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ERD Online

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值