连接超时:连接JAVA和Wampserver

时间:2017-06-07 10:33:15

标签: java mysql connection wampserver

我需要有关数据库连接时间错误的帮助,我正在使用wamp服务器 我可以访问PHPMyAdmin抛出此链接“192.168.1.88/phpmyadmin”,它工作正常但我在NetBeans中出现超时错误,我尝试在PC之间ping并且工作正常

这是堆栈跟踪:

  java.net.SocketException
  MESSAGE: java.net.ConnectException: Connection timed out: connect

  STACKTRACE:

  java.net.SocketException: java.net.ConnectException: Connection timed out: connect
  at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:156)
  at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
  at com.mysql.jdbc.Connection.createNewIO(Connection.java:2666)
  at com.mysql.jdbc.Connection.<init>(Connection.java:1531)
  at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
  at java.sql.DriverManager.getConnection(DriverManager.java:664)
  at java.sql.DriverManager.getConnection(DriverManager.java:247)
  at assurancebensaidv2.jdbcManager.<init>(jdbcManager.java:38)
  at assurancebensaidv2.Login.<init>(Login.java:37)
  at assurancebensaidv2.Login$8.run(Login.java:761)
  at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
  at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
  at java.awt.EventQueue.access$500(EventQueue.java:97)
  at java.awt.EventQueue$3.run(EventQueue.java:709)
  at java.awt.EventQueue$3.run(EventQueue.java:703)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
  at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
  at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

以下是我的代码中的代码段:

public class jdbcManager {

    public HashMap<String, String> item = new HashMap<>();
    public static Connection conn;
    private Statement s;
    private ResultSet rs;

    public jdbcManager() {
        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException ex) {
            javax.swing.JOptionPane.showMessageDialog(null, "Erreur Driver  ", "Etat de L'opération", javax.swing.JOptionPane.INFORMATION_MESSAGE);
            Logger.getLogger(jdbcManager.class.getName()).log(Level.SEVERE, null, ex);
        }
        //===================================================================
        try {
            conn = DriverManager.getConnection("jdbc:mysql://192.168.1.88:3306/agenceassurance", "root", "12345");
        } catch (SQLException ex) {
            System.out.println(ex.getMessage());
          //  javax.swing.JOptionPane.showMessageDialog(null, "Erreur Connection Base de donnée", "Etat de L'operation", javax.swing.JOptionPane.INFORMATION_MESSAGE);
         }
    }}

1 个答案:

答案 0 :(得分:0)

当您尝试从远程计算机连接到MySQL时,您需要在MYSQL Server上创建一个允许从远程ip连接的帐户。

默认情况下,出于明显的安全原因,root帐户被设置为仅允许从运行MySQL Server的计算机连接到MySQL Server。

不要将root更改为允许远程连接创建一个新用户帐户,只允许查看要连接的单个数据库

相关问题