java - 连接 mysql 时通信链路失败

标签 java android mysql

我正在尝试从我的 Android 应用程序连接到 mysql 数据库。

我收到通信链接失败错误。
以下是代码 fragment :

public class MySqlConnector {
    private Connection con = null;
    private String s = "";
    private String username = "root";
    private String password = "password01";
    private String connectionString;

    public String ConnectToDb() {
         connectionString ="jdbc:mysql://192.168.1.104:3306/mydatabase";
        //connectionString="jdbc:mysql://10.0.0.0:3306/mydatabase";
        // connectionString="jdbc:mysql://127.0.0.1:3306/mydatabase";
        //connectionString = "jdbc:mysql://MainSrv04:3306/mydatabase";
        // connectionString="jdbc:mysql://localhost:3306/mydatabase";

        // connectionString =
        // "jdbc:mysql://localhost:3306/mydatabase?user=root&password=password01&useUnicode=true&characterEncoding=UTF-8";

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

        } catch (Exception ex) {
            ex.printStackTrace();
        }
        try {
            con = DriverManager.getConnection(connectionString, username,
                    password);

            Statement st = con.createStatement();
            String sql = "SELECT First_Name FROM mydatabase.custinfo where CardNumber=5325784707";
            ResultSet rs = st.executeQuery(sql);
            s = rs.getString("First_Name");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (con != null) {
                try {
                    con.close();
                    Log.i("MySqlConnector", "Database connection terminated");
                } catch (Exception e) { /* ignore close errors */
                }
            }
        }

        if (s == "") {
            s = "No Result";
        }
        Log.i("MySqlConnector : s=", s);

        return s;
    }
}

我尝试了注释中所示的所有可能的组合,并在 logcat 中的字段引起的以下错误:

  • 使用 localhost 时 --> 由以下原因引起:java.net.ConnectException: localhost/127.0.0.1:3306 - 连接被拒绝
  • 使用 127.0.0.1 时 --> 由以下原因引起:java.net.ConnectException:/127.0.0.1:3306 - 连接被拒绝
  • 使用 10.0.0.0 时 --> 引起:java.net.SocketException:操作超时
  • 使用 192.168.1.104 时 --> 原因:java.net.SocketException:操作超时
  • 使用 MainSrv04 时 --> 由以下原因引起:java.net.UnknownHostException:MainSrv04

我还通过 telnet ping mysql 端口,它正在工作。
另外,我已经照顾好特权了。

但我仍然收到通信链接失败错误。

感谢任何帮助。

最佳答案

Android 应用程序是否位于同一个网络上?如果没有

jdbc:mysql://192.168.1.104:3306

jdbc:mysql://10.0.0.0:3306

不会工作。

给出mysql的正确网络地址。

关于java - 连接 mysql 时通信链路失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14196842/

相关文章:

java - 导入模块后 list 合并失败

java - 用于跟踪网页浏览量(或唯一访问者)的最佳 Grails 实现?

android - 无法显示 MapView

android - 如何用动画扩展布局高度?

php - MySql - 基于多对多数据透视表值的唯一键

mysql - MYSQL 同步同一个数据库中的两个表的记录

java - xls 和 xlsx 文件是否有统一的 ExcelExtractor 类和工厂?

java - 从 Fragment 内的 FragmentActivity 访问对象?

Android jpeg 图片回调到灰度Opencv Mat

MySQL - 特定列上的更新后触发器会影响表中的所有行