問題最後無解,或許可以通過抓包發現原因,但是經過兩個小時的蠻力測試,最後證明可能當前應用的運行環境有關。
畢竟生成環境用的就是簡單的‘123456’。
問題現象:
本地idea起springboot的微服務,以com.alibaba.druid.pool.DruidDataSource連接池連接docker中安裝的。
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.jdbc.Driver
url: 'jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&verifyServerCertificate=false'
username: root
password: '123456'
druid:
initialSize: 50
minIdle: 50
maxActive: 300
maxWait: 60000
timeBetweenEvictionRunsMillis: 60000
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT user()
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
poolPreparedStatements: true
connection-properties: druid.stat.mergeSql:true;druid.stat.slowSqlMillis:5000
相關版本
連接池
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.20</version>
</dependency>
數據庫
dockerfile:
FROM mysql:5.7.25
現象
用以下命令可以修改數據庫密碼
grant all on *.* to root@'%' identified by 't$>9MJ4q' with grant option;
flush privileges;
當密碼採用
‘123456’或者‘abcdef’時無法連接;當密碼採訪複雜的’t$>9MJ4q’時,就可以直接連接成功。
嘗試了各種所謂密碼需要用‘’包裹的方式,都無效。