problemas tomcat + mysql + jdbc

120 views
Skip to first unread message

QuiQue

unread,
Jun 9, 2008, 1:16:53 PM6/9/08
to jav...@googlegroups.com, servl...@elistas.net
hola list@

tengo un entorno formado por windows xp con eclipse y tomcat 5.5. desde aqui me conecto a una bdd mysql 5 que esta en debian. todo bien

el problema lo tengo cuando termino mi app y la quiero subir a un tomcat que esta en debian.

subo la appweb como un war y llego a ella bien. meto en catalina/common/lib el jar con el conector de mysql

y en catalina/conf/server.xml meto lo mismo que tengo en el server.xml del tomcat que tengo en local (el que esta en windows)

<Context docBase="miWeb" path="/miWeb" reloadable="true" source="org.eclipse.jst.j2ee.server:miWeb">
        <!-- server java1 -->
        <Resource auth="Container"
            driverClassName="com.mysql.jdbc.Driver"
            maxActive="100"
            maxIdle="10"
            maxWait="10000"
            name="jdbc/miBDD"
            password="info"
            type="javax.sql.DataSource"
            url="jdbc:mysql://localhost:3306/miBDD"
            username="info"
        />
</Context>

si pongo en el parametro "url" localhost, me sale el siguiente error:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (Acceso negado para usuario: 'info'@'localhost' (Usando clave: SI))

y si pongo la ip de la maquina me sale lo siguiente:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create PoolableConnectionFactory (null,  message from server: "Servidor '172.16.1.169' no est� permitido para conectar con este servidor MySQL")

no entiendo lo que pasa, si la bdd esta en el mismo sitio y el context es el mismo en el server local (windows) como en el server central (debian) por que no funciona? tiene algo que ver que uno sea bajo windows y otro bajo linux?

el usuario tiene permisos porque si no no me funcionaria sobre uno si y otro no; el war es el mismo y esta bien desplegado

alguna ayuda???

--

saludos

QuiQue

waz waz

unread,
Jun 10, 2008, 5:27:57 AM6/10/08
to jav...@googlegroups.com
Hola... tenes 2 problemas diferentes:

1) Cuando pones localhost la base te responde, en este caso necesitas la contrasena del usuario info, ya que en las propiedades de la base le an puesto que pida la clave, en windows (en tu ambiente de desarrollo) seguramente lo tenes sin clave.

2)El segundo problema es de permisos desde tomcat hacia la base, tal vez porque tomcat se ejecuta con usuario tomcat y este usuario no tiene permisos.

Te recomiendo que resuelvas el punto 1, pedile a tu administrador de debian o la persona que instalo la base que te diga cual es la clave.

Saludos.

Domingo Suárez Torres

unread,
Jun 10, 2008, 11:17:34 AM6/10/08
to jav...@googlegroups.com, servl...@elistas.net
Hola,

Se debe al esquema de seguridad de mysql, para permitir conexiones
revisa: http://dev.mysql.com/doc/refman/5.0/es/grant.html

Mas o menos tendrias que hacer algo com esto:

GRANT ALL PRIVILEGES ON test.* TO 'root'@'localhost'
-> IDENTIFIED BY 'goodsecret';


Revisa la documentacion para que escribas bien la sentencia sql

Saludos

--
domix

Domingo Suárez Torres

unread,
Jun 10, 2008, 11:17:34 AM6/10/08
to jav...@googlegroups.com, servl...@elistas.net
Hola,

Se debe al esquema de seguridad de mysql, para permitir conexiones
revisa: http://dev.mysql.com/doc/refman/5.0/es/grant.html

Mas o menos tendrias que hacer algo com esto:

GRANT ALL PRIVILEGES ON test.* TO 'root'@'localhost'
-> IDENTIFIED BY 'goodsecret';


Revisa la documentacion para que escribas bien la sentencia sql

Saludos

El día 9 de junio de 2008 12:16, QuiQue <quiqu...@gmail.com> escribió:

--
domix

Juan C.C.

unread,
Jun 10, 2008, 10:26:59 AM6/10/08
to jav...@googlegroups.com, servl...@elistas.net
Para mi es un tema de permisos. Puede que el usuario que creaste esté pudiendo acceder a la DB de manera local y cuando lo pones remoto pincha. Fijate si al usuario que estas usando le das permisos de conexion remota (no me acuerdo si se lo dabas a toda la DB o a un user especifico) a ver si con eso arranca.
Las veces que me paso era un tema de permisos, podes tambien probar si con root funciona.

La DB tambien la migraste al debian? o la dejaste en windows ?


Suerte!
Juan

Santiago Risaro

unread,
Jun 10, 2008, 1:20:54 AM6/10/08
to jav...@googlegroups.com
para conectarte a mysql desde "localhost" necesitás un grant específico. Según la documentación:

"Two of the accounts have a username of monty and a password of some_pass. Both accounts are superuser accounts with full privileges to do anything. One account ('monty'@'localhost') can be used only when connecting from the local host. The other ('monty'@'%') can be used to connect from any other host. Note that it is necessary to have both accounts for monty to be able to connect from anywhere as monty. Without the localhost account, the anonymous-user account for localhost that is created by mysql_install_db would take precedence when monty connects from the local host. As a result, monty would be treated as an anonymous user. The reason for this is that the anonymous-user account has a more specific Host column value than the 'monty'@'%' account and thus comes earlier in the useruser table sorting is discussed in Section 5.4.5, "Access Control, Stage 1: Connection Verification".) table sort order."

Y la sentencia completa del grant la podés leer acá.

Saludos.

2008/6/9 QuiQue <quiqu...@gmail.com>:

QuiQue

unread,
Jun 10, 2008, 1:18:43 PM6/10/08
to jav...@googlegroups.com
hola

efectivamente, era un tema de permisos... mi usuario tenia permiso para conectarse desde ciertas ips, pero curiosamente no tenia permisos para conectarse desde localhost. por eso podia desde el tomcat local acceder (por una de esas ips) pero desde el tomcat central que esta en la misma maquina que la bdd no podia (no tenia permisos desde localhost)

muchas gracias a todos por vuestra ayuda

saludos

QuiQue
--

saludos

QuiQue

Santiago Risaro

unread,
Jun 10, 2008, 10:02:04 PM6/10/08
to jav...@googlegroups.com

Sep, es así nomás, no sé en que estaban pensando los muchachos de MySQL pero para cada usuario necesitás al menos dos entradas, una local y otra remota.

2008/6/10 QuiQue <quiqu...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages