名为“localhost”的远程数据库服务器的数据库连接字符串

时间:2013-02-20 06:22:48

标签: java mysql jdbc database-connection

我在计算机myuniversity.edu上设置了远程mysql数据库服务器,服务器名为“localhost”。在它上面我有一个名为“MyDatabase”的数据库。

I want to connect it through Java.

The connection urls that I have tried are:
    jdbc:mysql://myuniversity.edu/localhost
    jdbc:mysql://myuniversity.edu/localhost/MyDatabase
    jdbc:mysql://myuniversity.edu:3306/MyDatabase

but I get the `Connection refused: connect` exception.

在这种情况下,有人可以告诉连接网址应该是什么吗?

3 个答案:

答案 0 :(得分:3)

不确定您的计算机名称是否为myuniversity.edu,您可以使用连接字符串尝试IP地址,Localhost是环回网络接口的名称,仅可在该计算机上访问。还要确保您的mysql (可能是3306)的默认端口是否已打开。使用IP地址,您的连接字符串将如下所示:

jdbc:mysql://192.168.0.123/MyDatabase

使用IP和端口,它将是:

jdbc:mysql://192.168.0.123:3306/MyDatabase

(您需要在上面的字符串中替换您的IP)

答案 1 :(得分:0)

如果没有(IP)地址,我就无法远程连接 尝试这种方法

如果您想通过互联网连接:

  1. 在您的计算机上打开CMD

  2. 在CMD写ping myuniversity.edu(例如ping google.com)  然后你会得到一个网站的IP地址,你可以复制IP

  3. 然后尝试这种方法:

    Connection con;
    try{
    Class.forName("com.mysql.jdbc.Driver");
    con = DriverManager.getConnection("jdbc:mysql://THE IP ADDRESS :3306/DatabaseName");
    System.out.println("CONNECTED");
    }catch(Exception ex)
    {
    System.out.println(ex.getMessage());
    }
    

答案 2 :(得分:0)

好的,这就是我为解决这个问题所采取的措施:

  • my.cnf文件中,我将绑定地址从“127.0.0.1”更改为 '主持ipaddress'。这允许连接到远程mysql服务器 但不允许任何尝试连接的远程主机访问 它。
  • 为了解决这个问题,我在用户表中添加了一个主机'%'的条目。这允许远程主机连接到数据库。

现在我可以使用jdbc:mysql://serverIpAddress:3306/MyDatabase

连接到数据库