现在服务器A(CentOS5),java连mysql是采用spring代理连接的mysql5.1,连接正常.
我现在将原来配置文件,jar,全部抄到服务器B(Linux ASE4),升级了mysql5.1到mysql5.5,修改了my.cnf文件,bind-address=127.0.0.1,只允许本地访问,启动mysqld服务,正常,测试连接到client端执行SQL正常,用PHP连接mysql执行SQL正常,但java总报错,
如果分不够,我还可以继续加,这个问题,我都不知道该用什么方法解决了,谢谢了。
下面是部分的配置文件和错误消息?
配置文件:
<beans default-autowire="autodetect">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1:3306/********?useUnicode=true&c
haracterEncoding=utf-8</value>
</property>
<property name="username">
<value>********</value>
</property>
<property name="password">
<value>××××××××</value>
</property>
</bean>错误消息:
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:576)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:640)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:685)
at com.tools.business.search.SearchUpdDS.inGetMemcache(SearchUpdDS.java:480)
at com.tools.business.search.SearchUpdDS.getMemcache(SearchUpdDS.java:85)
at com.tools.business.search.SearchUpdServiceImpl.getMemcache(SearchUpdServiceImpl.java:63)
我现在将原来配置文件,jar,全部抄到服务器B(Linux ASE4),升级了mysql5.1到mysql5.5,修改了my.cnf文件,bind-address=127.0.0.1,只允许本地访问,启动mysqld服务,正常,测试连接到client端执行SQL正常,用PHP连接mysql执行SQL正常,但java总报错,
如果分不够,我还可以继续加,这个问题,我都不知道该用什么方法解决了,谢谢了。
下面是部分的配置文件和错误消息?
配置文件:
<beans default-autowire="autodetect">
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName">
<value>com.mysql.jdbc.Driver</value>
</property>
<property name="url">
<value>jdbc:mysql://127.0.0.1:3306/********?useUnicode=true&c
haracterEncoding=utf-8</value>
</property>
<property name="username">
<value>********</value>
</property>
<property name="password">
<value>××××××××</value>
</property>
</bean>错误消息:
Exception in thread "main" org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is org.apache.commons.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Communications link failureThe last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:82)
at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:576)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:640)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:669)
at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:685)
at com.tools.business.search.SearchUpdDS.inGetMemcache(SearchUpdDS.java:480)
at com.tools.business.search.SearchUpdDS.getMemcache(SearchUpdDS.java:85)
at com.tools.business.search.SearchUpdServiceImpl.getMemcache(SearchUpdServiceImpl.java:63)
解决方案 »
- 如何把多条sql语句查询的结果放入同一个JTable中
- 问一个nio包的问题。大家帮忙看看。
- java面试经常遇到的sqltimian
- 正则表达式的问题
- 设计一个通过键盘控制物品移动的程序
- 急需!(IBM JDK1.5或IBM JDK 5.0)
- 一个图象文件插入到oracle数据库中的问题
- java1.4如何在tomcat5.0中配置连接sqlserver2000的数据库的数据库连接池?
- [小问题]请问,在java的package的问题
- 这个applet哪错了???
- 利用正则表达式去掉html标签,但是保留图片的标签,同时替换图片的路径和名字
- 保存的文件,用记事本打开回车换行都变成了黑块,怎么办
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
mysql> select host, user from user;
+-----------+------+
| host | user |
+-----------+------+
| localhost | root |
+-----------+------+
spring中的xml文件密码即是root用户的密码。
看我给你发的那个连接 你还需要创建一个用户他的host是% 这样的话 其他机器才能访问
或者换
localhost看看
INSERT INTO user (Host,User,Password) VALUES('%','root',PASSWORD('********'));
INSERT INTO user (Host,User,Password) VALUES('127.0.0.1','root',PASSWORD('********'));
然后再执行,还是不能连接Mysql
http://blog.csdn.net/jebe7282/archive/2010/06/01/5639778.aspx
| host | user |
+-----------+------+
| % | root |
| 127.0.0.1 | root |
| localhost | root |
+-----------+------+
后两个用户的密码跟第一个用户一样么? 如果不知道是否一样的先把所有用户的密码去掉看看呢?..话说我用Ubuntu 一次成功 没LZ您这么坎坷阿。。
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
default-autowire="byName" default-lazy-init="false"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3306/example?useUnicode=true&characterEncoding=utf8" />
<property name="username" value="root" />
<property name="password" value="1234" />
</bean>
<bean id="sessionFactory" name="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="packagesToScan">
<list>
<value>com.web.lv9.java.**.entity</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop key="hibernate.c3p0.max_size">20</prop>
<prop key="hibernate.c3p0.min_size">5</prop>
<prop key="hibernate.c3p0.idle_test_period 3000">2000</prop>
<prop key="hibernate.c3p0.acquire_increment">1</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.c3p0.validate">true</prop>
</props>
</property>
</bean>
<bean id="baseDAO" name="baseDAO" class="com.web.lv9.java.common.dao.BaseDAO"
init-method="init" abstract="true">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
</beans>
真没配置什么文件 我要是心情好的话几句话就能把我对MYSQL干的事情全都跟你说完。。
CentOS我是1年半前配的环境,mysql,memcache,TC,webserver,php,cgi,perl这些服务,过了好久,真不记得对于jdbc连接mysql还搞了什么环境参数,唉,一直报连接错。
怎么我程序连接上3306的端口,状态一直是SYN_SENT,而不是ESTABLISHED 呢???