2017-07-01 4 views
1

J'ai un serveur local qui a installé des serveurs apache et mysql. les deux fonctionnent très bien. Je peux afficher la page par défaut d'apache sur le navigateur bien. Et je peux gérer la base de données mysql via le terminal. Tout va bien pour le moment. Mais si j'essaie d'écrire du code pour utiliser ma base de données. Cela me donne une erreur de lien de communication.Connexion à un serveur local Mysql à partir d'un autre ordinateur

est ici simple code JAVA:

public static void main(String[] args) { 

     String url = "jdbc:mysql://192.168.1.49:3306/test"; 
     String username = "root"; 
     String password = "1234"; 

     System.out.println("Connecting database..."); 
     Connection connection = null; 
     try { 
      connection = DriverManager.getConnection(url, username, password); 

      System.out.println("Database connected!"); 
     } catch (SQLException e) { 
      throw new IllegalStateException("Cannot connect the database!", e); 
     } 

    } 

ET VOICI L'ERREUR:

base de données de connexion ...

Exception in thread "main" java.lang.IllegalStateException: Cannot connect the database! at servermysql.ServerMysql.main(ServerMysql.java:34) Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

LE SERVEUR SERVEUR 14,04 UBUNTU est

MERCI FRENDRE

Répondre

0

Vous devez définir bind-address MYSQL à 0.0.0.0 parce qu'il habituellement seulement sur écoute 127.0.0.1 par défaut exécutant la commande suivante:

sed -i -e”s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/” /etc/mysql/my.cnf 

ou modifier manuellement le bind-address à 0.0.0.0 dans /etc/mysql/my.cnf et redémarrez MYSQL.

+1

Merci. Ça a marché! :) –