DruidDataSource数据源创建抛出“Your password has expired”

本文将解决DruidDataSource数据源创建抛出“Your password has expired”错误问题。

一直运行的很好的项目,突然今天不能运行,查看后台错误日志如下:

2019-10-29 21:07:01,631 [Druid-ConnectionPool-Create-632550973] ERROR [com.alibaba.druid.pool.DruidDataSource] - create connection SQLException, url: jdbc:mysql://localhost:3306/website?characterEncoding=UTF-8&useUnicode=true&useSSL=false, errorCode 1862, state HY000

java.sql.SQLException: Your password has expired. To log in you must change it using a client that supports expired passwords.

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)

        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:927)

        at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1709)

        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1252)

        at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483)

        at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)

        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)

        at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)

        at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)

        at sun.reflect.GeneratedConstructorAccessor37.newInstance(Unknown Source)

        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)

        at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

        at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)

        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)

        at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1558)

        at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1623)

        at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2468)

根据上面的错误日志,可以得知是创建 DruidDataSource 数据源失败,创建失败的原因是 MySQL 密码过期了,这就需要我们修改 MySQL 数据库密码。修改 MySQL 数据库密码如下:

SET PASSWORD FOR testuser = PASSWORD("123456");

testuser 指 mysql 数据库用户名。

青年最主要的任务是学习。 —— 朱德
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号