远程连接MySQL服务器

时间:2014-05-12 08:19:34

标签: java mysql networking ip

你好,我是MySQL服务器的新手,我想从我的电脑远程数据库远程连接MySQL数据库!我在拥有MySQL服务器的机器上的IP是:

 39.32.58.13

我正在使用此代码进行连接:

    private Connection connect = null;
    private Statement statement = null;
    private PreparedStatement preparedStatement = null;
    private ResultSet resultSet = null;

    private void Connect(){
        try{
        // this will load the MySQL driver, each DB has its own driver
      Class.forName("com.mysql.jdbc.Driver");
      // setup the connection with the DB.
      connect = DriverManager
          .getConnection("jdbc:mysql://39.32.222.77:3306/test","myname", "mypass");
      }
}

但它一直给我一个错误:

    com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 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.

我做错了是因为我是第一次这样做,需要有关如何做的指示!所以请不要提前感谢我的错误

3 个答案:

答案 0 :(得分:2)

您需要授予从远程位置使用mysql的权限。

GRANT ALL PRIVILEGES ON *.* TO 'user'@'%.example.com' 
    IDENTIFIED BY PASSWORD 'Password' 
    WITH GRANT OPTION;
FLUSH PRIVILEGES;

用户可以是root用户或任何其他用户

在授权

上查看更多info

答案 1 :(得分:1)

首先,检查远程mysql数据库是否正在运行。 其次,检查你的mysql accound是否有权访问数据库

希望对你有所帮助!

答案 2 :(得分:0)

你必须把它作为root:

GRANT ALL PRIVILEGES ON *.* TO  'USERNAME'@'IP'  IDENTIFIED  BY  'PASSWORD';

其中IP是您要允许访问的IP,USERNAME是您用来连接的用户

如果您想允许从任何IP访问,只需输入%而不是IP

然后你只需要把

FLUSH PRIVILEGES

或者重新启动mysql服务器。

Here's Answer

Another Tutorial