系统运行环境:
OS:Win7 64位+JDK7 64位
MySQL 5.6.20 MySQL Community Server (GPL) 64位
Tomcat 7.0.56 64位
框架:Struts2.3.16.1+Spring3.1.2+Hibernate4.1.4在mysql命令行使用用户登录数据库,可以查到表,无存在权限问题。在Eclipse中启动工程时报错:
java.sql.SQLException: Access denied for user 'ssh'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4098)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4030)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:951)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1717)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2389)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2422)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2207)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:797)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:190)
at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44) 数据源使用proxool
applicationContext.xml配置文件如下:
<!-- 数据源配置, 使用DBCP数据库连接池 -->
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver">
<value>com.mysql.jdbc.Driver</value>
</property> <property name="driverUrl">
<value>jdbc:mysql://localhost:3306/ssh?user=ssh&password=ssh
</value>
</property>
<property name="user" value="ssh" />
<property name="password" value="ssh" />
<!-- 以下三个配置保证断网恢复后,自动重连数据库 -->
<property name="houseKeepingTestSql" value="select 1 from dual" />
<property name="testBeforeUse" value="true" />
<property name="testAfterUse" value="true" />
<!-- <alias>是连接池的别名,proxoolPool连接池的一种,此外经常使用的连接池还有C3P0 -->
<property name="alias" value="proxoolPool" />
<!--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回 收,超时的销毁 (默认30秒) -->
<!--<property name="houseKeepingSleepTime" value="30000" /> -->
<!-- 最少保持的空闲连接数 (默认5个) -->
<property name="prototypeCount">
<value>5</value>
</property> <!-- 设置连接池内生成的最大连接数/在连接池中所有数据库连接的最大数目(默认15个) -->
<property name="maximumConnectionCount">
<value>15</value>
</property> <!-- 设置连接池内生成的最小连接数/在连接池中可用的数据库连接的最少数目(默认5个) -->
<property name="minimumConnectionCount">
<value>5</value>
</property> <property name="maximumActiveTime" value="900000"></property>
<!-- 在Consonl中显示sql -->
<property name="trace" value="false" />
<property name="verbose" value="false" />
<!-- 连接池使用状况统计。 参数“10s,1m,1d” -->
<property name="statistics" value="1m" />
</bean>
OS:Win7 64位+JDK7 64位
MySQL 5.6.20 MySQL Community Server (GPL) 64位
Tomcat 7.0.56 64位
框架:Struts2.3.16.1+Spring3.1.2+Hibernate4.1.4在mysql命令行使用用户登录数据库,可以查到表,无存在权限问题。在Eclipse中启动工程时报错:
java.sql.SQLException: Access denied for user 'ssh'@'localhost' (using password: YES)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1073)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4098)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4030)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:951)
at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1717)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1276)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2389)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2422)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2207)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:797)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:389)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:305)
at java.sql.DriverManager.getConnection(DriverManager.java:579)
at java.sql.DriverManager.getConnection(DriverManager.java:190)
at org.logicalcobwebs.proxool.DefaultConnectionBuilder.buildConnection(DefaultConnectionBuilder.java:39)
at org.logicalcobwebs.proxool.Prototyper.buildConnection(Prototyper.java:159)
at org.logicalcobwebs.proxool.Prototyper.sweep(Prototyper.java:102)
at org.logicalcobwebs.proxool.PrototyperThread.run(PrototyperThread.java:44) 数据源使用proxool
applicationContext.xml配置文件如下:
<!-- 数据源配置, 使用DBCP数据库连接池 -->
<bean id="dataSource" class="org.logicalcobwebs.proxool.ProxoolDataSource">
<property name="driver">
<value>com.mysql.jdbc.Driver</value>
</property> <property name="driverUrl">
<value>jdbc:mysql://localhost:3306/ssh?user=ssh&password=ssh
</value>
</property>
<property name="user" value="ssh" />
<property name="password" value="ssh" />
<!-- 以下三个配置保证断网恢复后,自动重连数据库 -->
<property name="houseKeepingTestSql" value="select 1 from dual" />
<property name="testBeforeUse" value="true" />
<property name="testAfterUse" value="true" />
<!-- <alias>是连接池的别名,proxoolPool连接池的一种,此外经常使用的连接池还有C3P0 -->
<property name="alias" value="proxoolPool" />
<!--proxool自动侦察各个连接状态的时间间隔(毫秒),侦察到空闲的连接就马上回 收,超时的销毁 (默认30秒) -->
<!--<property name="houseKeepingSleepTime" value="30000" /> -->
<!-- 最少保持的空闲连接数 (默认5个) -->
<property name="prototypeCount">
<value>5</value>
</property> <!-- 设置连接池内生成的最大连接数/在连接池中所有数据库连接的最大数目(默认15个) -->
<property name="maximumConnectionCount">
<value>15</value>
</property> <!-- 设置连接池内生成的最小连接数/在连接池中可用的数据库连接的最少数目(默认5个) -->
<property name="minimumConnectionCount">
<value>5</value>
</property> <property name="maximumActiveTime" value="900000"></property>
<!-- 在Consonl中显示sql -->
<property name="trace" value="false" />
<property name="verbose" value="false" />
<!-- 连接池使用状况统计。 参数“10s,1m,1d” -->
<property name="statistics" value="1m" />
</bean>
你如果想用 ssh 用户 通过 localhost 访问,是需要进行配置的,而且配置成127.0.0.1 貌似都不行,一定要用 localhost.
具体的,在表mysql中。
<value>jdbc:mysql://localhost:3306/ssh?user=ssh&password=ssh
</value>
</property>你这个用户名和密码都是ssh?确定不是root?
然后,这个jdbc连接URL不用这么写,可以加上UTF8的encoding属性