远程连接MySQL服务器

你好,我是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. 

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

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

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

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

有关授权的更多信息 ,请参阅此

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

希望能帮到你!

你必须把它作为root:

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

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

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

然后你只需要放

 FLUSH PRIVILEGES 

或者重新启动mysql服务器就是这样。

这是答案

另一个教程