Netbeans y Connector / J

Como ya comente en otro hilo estoy mudando mi entorno de desarrollo de Jdeveloper (en Windows )a NetBeans (Gentoo Linux) y de SQL a MySQL.
Bueno, pues me instalo el J2SDK, Netbeans, MySQL y MySQL-JDBC (estos dos ultimos son los ebuilds dev-db/mysql-4.0.22-r2 y dev-java/jdbc-mysql-3.0.11).
Con esto toda la conectividad entre Java y MySQL deberia de estar disponible, pero al intentar ejecutar el siguiente codigo en NetBeans
import java.sql.*;

public class Main
{
   static String bd = "bda";
   static String login = "riot";


   static String password = null;
   static String url = "jdbc:mysql://localhost/"+bd;

   public static void main(String[] args) throws Exception
   {
      Connection conn = null;

      try
      {
         Class.forName("com.mysql.jdbc.Driver").newInstance();

         conn = DriverManager.getConnection(url,login,password);

         if (conn != null)
         {
            System.out.println("Conexión a base de datos "+url+" ... Ok");
            conn.close();
         }
      }
      catch(SQLException ex)
      {
         System.out.println(ex);
      }
      catch(ClassNotFoundException ex)
      {
         System.out.println(ex);
      }

   }
}


Me dice
java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.UnknownHostException: localhost


Si meto en nombre de mi equipo en vez de localhost , me da un eoor de conexion a MySQL:
java.sql.SQLException: General error,  message from server: "Access denied for user: '@reptile' to database 'bda'"


Parece ser que MySQL diferencia entre localhost y el nombre del host.

Alguna idea??

Gracias de antemano!!
mySQL si que diferencia si, a la hora de crear los usuarios debes especificar lo que va a la derecha de la algarroba, es decir, si quieres acceder por nombre de maquina no te vale con el usuario que crea por defecto @localhost. Para crearlo lo puedes hacer a mano con un GRANT o puedes usar algo como el mysql control center, que ya no se como coño se llamara para linux, por que ha cambiao 1000 veces de nombre :D

Sobre lo de q no tira como localhost, se me ocurre que no tengas puesta la entrada de localhost en /etc/hosts y por eso diga unknown host, prueba desde una consola a poner ping localhost a ver q pasa.
1 respuesta