小编典典

在OSX上使用jdbc将Java连接到mysql

java

因此,我在项目的构建路径中添加了MySQL Connector / J 5.1.16。我正在使用默认的OSX Java软件包和MAMP Pro
1.9.4,以及MySQL 5.1.44和Eclipse。

我用以下功能设置了一个简单的Java应用程序:

private static String dbUrl = "jdbc:mysql://127.0.0.1:3306/mpp";
private static String dbUsername = "root";
private static String dbPassword = "root";

private Statement statement = null;

private void dbConnect() {


try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection connection = DriverManager.getConnection(dbUrl, dbUsername, dbPassword);
    statement = connection.createStatement();

} catch(SQLException e) {
    System.err.print(e.getMessage() + " ARGH!");
} catch(Exception e) {
    System.err.print(e.getMessage() + " FUUUUUUUUUU!");
}
}

当我运行它时,出现以下错误:

Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. ARGH!

我用谷歌搜索了大约一个小时,没有成功。有想法该怎么解决这个吗?JDBC驱动程序应该很好,我对此进行了测试。

编辑

我尝试通过控制台运行

SnowCave:src stefanschipor$ java -cp $CLASSPATH test

我得到与上面相同的输出


阅读 224

收藏
2020-10-25

共1个答案

小编典典

好,这只是愚蠢的。:)

您已打开MAMP,转到服务器> MySQL,然后取消选中默认情况下选中的“仅允许本地访问”。这很奇怪,因为我的工作是本地的,但是无论如何…

我的程序似乎正常工作,@ JamesA建议的命令也产生了预期的输出!

晕!

2020-10-25