2016-07-13 5 views
-1

내 자바 응용 프로그램에서 mysql을 연결하는 동안 나는이 예외를 얻고있다수없는 지역의 MySQL 서버

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Could not create connection to database server. Attempted reconnect 3 times. Giving up.) 
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549) 
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388) 
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at net.bull.javamelody.JdbcWrapper$3.invoke(JdbcWrapper.java:765) 
    at net.bull.javamelody.JdbcWrapper$DelegatingInvocationHandler.invoke(JdbcWrapper.java:285) 
    at com.sun.proxy.$Proxy2.getConnection(Unknown Source) 
    at net.xxx.fetch.jobboard.WebDBMaintainer.getMasterEnable(WebDBMaintainer.java:717) 
    at net.xxx.net.MasterEnableCache.refreshCache(MasterEnableCache.java:80) 
    at net.xxx.net.MasterEnableCache.setMachineID(MasterEnableCache.java:67) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:856) 
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:734) 
    at org.springframework.beans.BeanWrapperImpl.setPropertyValue(BeanWrapperImpl.java:886) 
    at org.springframework.beans.BeanWrapperImpl.setPropertyValues(BeanWrapperImpl.java:913) 
    at org.springframework.beans.BeanWrapperImpl.setPropertyValues(BeanWrapperImpl.java:902) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:967) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:768) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:330) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:226) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:147) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:275) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:317) 
    at org.springframework.web.context.support.AbstractRefreshableWebApplicationContext.refresh(AbstractRefreshableWebApplicationContext.java:134) 
    at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:230) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:156) 
    at org.springframework.web.context.ContextLoaderServlet.init(ContextLoaderServlet.java:81) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:160) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1266) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1185) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1080) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5027) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5314) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:968) 
    at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1646) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) 
    at java.util.concurrent.FutureTask.run(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server. Attempted reconnect 3 times. Giving up. 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
    at com.mysql.jdbc.Util.getInstance(Util.java:386) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1015) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:975) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:920) 
    at com.mysql.jdbc.ConnectionImpl.connectWithRetries(ConnectionImpl.java:2388) 
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2309) 
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834) 
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    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 org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:38) 
    at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:582) 
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:1556) 
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1545) 
    ... 49 more 

내 컨텍스트 구성 :

<?xml version="1.0" encoding="UTF-8"?> 
<Context antiJARLocking="true" path="/abc" > 

<Resource auth="Container" driverClassName="com.mysql.jdbc.Driver" maxActive="50" maxIdle="15" maxWait="10000" name="jdbc/abc" type="javax.sql.DataSource" url="jdbc:mysql://localhost:3306/db?characterEncoding=UTF-8&amp;autoReconnect=true&amp;connectTimeout=10000&amp;integratedSecurity=true" validationQuery="SELECT 1" username="abc" password="abc"/> 
</Context> 

내가 MySQL을

를 사용하여 연결을 시도하는 경우
mysql -uabc -h 127.0.0.1 -D db -pabc 

그것은 잘 작동

누구든지이 문제를 해결하는 방법을 알려 줄 수 있습니까?

+1

가 확인 당신의 마음. 데이터베이스 이름이'db' 또는'database_name'입니까? – EJP

+0

데이터베이스가 데이터베이스 이름이 아니므로 업데이트하십시오. – Sthita

+0

[MySQL 데이터베이스에 연결할 수 없습니다.] (http://stackoverflow.com/questions/1735224/cant-connect-to-mysql-database-from-tomcat) – e4c5

답변

-1

변화의 URL = "JDBC한다 : mysql : // localhost를 : 3306/DB characterEncoding = UTF-8 & autoReconnect = 사실 & 대해 connecttimeout이 = 10000 &에서 integratedSecurity = true"로 URL 에 = "JDBC : mysql을 :// 127.0.0.1 : 3306/DB characterEncoding = UTF-8 & autoReconnect = 사실 & 대해 connecttimeout이 = 10000 &에서 integratedSecurity = true "로

+0

나는 이것을 시도했지만 여전히 동일하다. 문제 – Sthita

+0

로컬 호스트 파일이 잘못 구성된 경우가 아니면 아무런 차이가 없습니다.이 경우 올바른 해결 방법은 호스트 파일을 수정하는 것입니다. – EJP