连接数据库时username冲突
在连接数据库时遇到的问题:Access denied for user 'ccccccc'@'localhost' (using password: YES)
测试连接MyTest:
public class MyTest {
public static void main(String[] args) throws SQLException {
ApplicationContext context = new ClassPathXmlApplicationContext("database.xml");
DruidDataSource dataSource = context.getBean("dataSource", DruidDataSource.class);
System.out.println(dataSource.getConnection());
}
}
配置的database.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
产生的异常:
严重: create connection SQLException, url: jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useSSL=false, errorCode 1045, state 28000
java.sql.SQLException: Access denied for user 'ccccccc'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3978)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3914)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:871)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1714)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1224)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2199)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2230)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2025)
at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:778)
at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1644)
at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1710)
at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2753)
dbConfig.properties文件修改前:
username=root
password=123456
url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useSSL=false
driverClassName=com.mysql.jdbc.Driver
dbConfig.properties文件修改后:
jdbc.username=root
password=123456
url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useSSL=false
driverClassName=com.mysql.jdbc.Driver
xml文件也需修改:
<?xml version="1.0" encoding="UTF-8"?>
产生问题的原因:这是和主机名称username产生冲突了,修改即可
com.mysql.jdbc.JDBC4Connection@4b9e255