elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  url de mi base de datos MySQL
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: url de mi base de datos MySQL  (Leído 21,917 veces)
alki


Desconectado Desconectado

Mensajes: 308


Ver Perfil
url de mi base de datos MySQL
« en: 1 Noviembre 2009, 14:01 »

Buenas a todos!!

Tengo acceso shell a mi servidor con CentOS. Tengo instalado MySQL en la maquina, y tengo un programita en java y quiero que acceda a una de las bases de datos. El problema es que me dice que no se ha podido establecer conexion.
Me imagino que es por la url que le estoy poniendo.

He probado todas las combinaciones que se me han ocurrido y nada.

¿Alguien sabe de que modo podria averiguar cual es la url de la base de datos?

Tambien me he planteado que el programa estuviese mal. Me he descargado un pack de MySQL que trae entre otros MySQL Administrator, y tampoco he podido conectarme con la base de datos.


Muchas gracias.

Un Saludo


En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: url de mi base de datos MySQL
« Respuesta #1 en: 1 Noviembre 2009, 17:21 »

Si tienes acceso Shell remoto a tu Centos (EL cual posee la base de datos) podrias utilizar como host hacia tu MySQL la IP o nombre de dominio que utilizas para conectarte remoto via shell a ese Centos????


En línea

alki


Desconectado Desconectado

Mensajes: 308


Ver Perfil
Re: url de mi base de datos MySQL
« Respuesta #2 en: 1 Noviembre 2009, 17:48 »

Hola.

Gracias por la respuesta :)

Mismo error haciendolo con la ip del server:
Código:
java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.SocketException: java.net.ConnectException: Connection refused

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: java.net.ConnectException: Connection refused

STACKTRACE:

java.net.SocketException: java.net.ConnectException: Connection refused
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:143)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:225)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:1805)
        at com.mysql.jdbc.Connection.<init>(Connection.java:452)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at GestorBBDD.conectar(GestorBBDD.java:26)
        at GestorBBDD.main(GestorBBDD.java:58)


** END NESTED EXCEPTION **


        at com.mysql.jdbc.Connection.createNewIO(Connection.java:1875)
        at com.mysql.jdbc.Connection.<init>(Connection.java:452)
        at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:411)
        at java.sql.DriverManager.getConnection(DriverManager.java:582)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at GestorBBDD.conectar(GestorBBDD.java:26)
        at GestorBBDD.main(GestorBBDD.java:58)
Excepcion 2
:-\

Un Saludo
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: url de mi base de datos MySQL
« Respuesta #3 en: 1 Noviembre 2009, 17:53 »

Citar
Connection refused

Interesante  :P

1 - Estas intentando conectarte con el usuario 'root' de MySQL de forma remota?
2 - Cuando accesas por ssh a Centos, haz intentando una vez logueado en Centos abrir una conexión a MySQL (Dentro de Centos) con el mismo usuario con el cual intentas conectarte remoto... eres capaz de acceder a MySQL conectado por SSH ?

En línea

alki


Desconectado Desconectado

Mensajes: 308


Ver Perfil
Re: url de mi base de datos MySQL
« Respuesta #4 en: 1 Noviembre 2009, 17:57 »

Hola :)

He probado en el codigo con el administrador de mysql y con el usuario propio que le asigne a la base de datos y nada.

He probado desde el shell lo siguiente:
mysql -h localhost -u user -ppassword

Y me deja conectarme, una vez dentro puedo hacer use db; que tambien me deja, osea que puedo conectarme y encuentra la base de datos...

En respuesta a 1. El programa java, lo ejecuto en el mismo sistema donde se encuentra la base de datos.

Puedo acceder a mysql desde el shell.. como admin y como el user asignado a la db.

Muchas gracias.

Un Saludo
En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: url de mi base de datos MySQL
« Respuesta #5 en: 1 Noviembre 2009, 18:31 »

Pues si lo ejecutas desde CentOS porque no le pasas la dirección localhost?
En línea

alki


Desconectado Desconectado

Mensajes: 308


Ver Perfil
Re: url de mi base de datos MySQL
« Respuesta #6 en: 1 Noviembre 2009, 19:10 »

Hola.

Le he pasado tmb localhost/db
Pero me muestra el mismo mensaje. He probado todo lo que se me podia ocurrir :S

Un Saludo
En línea

rob1104


Desconectado Desconectado

Mensajes: 340


Usuario común


Ver Perfil WWW
Re: url de mi base de datos MySQL
« Respuesta #7 en: 1 Noviembre 2009, 19:26 »

Hola, coloca el codigo de java donde estableces la conexion, estoy seguro que el problema esta ahi.

Saludos
En línea

Sin análisis de requisitos o sin diseño, programar es el arte de crear errores en un documento de texto vacío.
alki


Desconectado Desconectado

Mensajes: 308


Ver Perfil
Re: url de mi base de datos MySQL
« Respuesta #8 en: 1 Noviembre 2009, 19:33 »

Hola

Código
  1. public class GestorBBDD {
  2.  
  3.        public static Connection conectar() throws ClassNotFoundException, SQLException{
  4.  
  5.                try {
  6.  
  7.                        Class.forName("com.mysql.jdbc.Driver");
  8.                        Connection c = DriverManager.getConnection("jdbc:mysql://localhost/db","user","pass");
  9.                        System.out.println("Conexión realizada");
  10.                        return c;
  11.  
  12.                } catch (ClassNotFoundException e) {
  13.                        e.printStackTrace();
  14.                        throw e;
  15.                } catch (SQLException e) {
  16.                        e.printStackTrace();
  17.                        throw e;
  18.  
  19.                }
  20.  
  21.        }
  22.  
  23.  
  24.        public static void desconectar(Connection c) throws SQLException{
  25.  
  26.                try {
  27.                        c.close();
  28.                } catch (SQLException e) {
  29.                        e.printStackTrace();
  30.                        throw e;
  31.                }
  32.  
  33.        }
  34.  
  35.        /* Programa de prueba  */
  36.                public static void main(String[] args) {
  37.                try{
  38.                        conectar();
  39.                        System.out.println("Excepcion 1");
  40.                } catch (SQLException e) {
  41.                        System.out.println("Excepcion 2");
  42.  
  43.                }
  44.                }
  45. }
  46.  
  47.  

Un Saludo
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: url de mi base de datos MySQL
« Respuesta #9 en: 1 Noviembre 2009, 20:03 »

Perfecto vamos avanzando  :-*

No se nada sobre Java, por ende no puedo adjudicar si tu codigo es del problema o esta bien o este mal. Me baso en la situacion que dijiste que utilizando otras aplicaciones te ocurre lo mismo al querer conectarte a MySQL:

'Conection refused'

 :P

Sin embargo te permite conectarte plenamente mediante el cliente local 'mysql' pero no te deja conectarte mediante ninguna aplicacion de terceros.... mas interesante aun  :rolleyes:

Ya que tienes acceso a ese Centos (No se hasta que nivel tienes acceso a sus archivos), pero podrias verificar si el puerto 3306 (el default de MySQL) esta abierto? Se que puede sonar tonto, pero MySQL en sistemas Linux/Unix tiene 2 maneras de ejecutarse, mediante puerto TCP/IP y mediante Sockets. Las ultimas versiones de MySQL vienen a ejecutarse mediante Sockets y no por puerto TCP/IP evitando que aplicaciones de terceros no se puedan conectar porque solicitan el puerto 3306 abierto (Aunque no digo 100% que este sea tu problema, sino una posibilidad).

Verifica con el comando el siguiente comando si el puerto 3306 esta abierto:

bash$ netstat -tunap | grep 3306

Sino te sale nada, bueno podemos asumir que a lo mejor lo modificaron para que corra en otro puerto (Y no el defecto) entonces haz:

bash$  netstat  -tunap | grep mysql*

Si te aparece otro puerto distinto al 3306, tendras que decirle al API que usa Java para conectarse a MySQL que el puerto no es 3306 sino el indicado por netstat, ahora sino te aparece nada de nada, porfavor notificalo para proseguir al siguiente paso. (Ya que si esto ultimo ocurre MySQL esta escuchando por Sockets y no por TCP/IP).
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines