【发布时间】:2017-04-14 08:42:34
【问题描述】:
我有一个谷歌云平台 - 计算引擎实例,我在上面安装了 MySQL 服务器。
现在我无法获得安装 sql 的 VM 的任何生命信号, 例如:
package com.company;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class Main {
public static void connection(){
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.println("in conncection");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
public static void connectToMySQL(){
connection();
String host = "jdbc:mysql://hotsIP:3306/DBname";
String user = "user";
String pass = "password";
try {
Connection connection = DriverManager.getConnection(host,user,pass);
System.out.println("???");
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
connectToMySQL();
}
}
这需要几秒钟,就像他尝试连接和 EXEPTION 一样
in conncection
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
我做了什么让它工作:
- 在my.conf:
bind address = 0.0.0.0,skip-external-locking comment out - 重启服务器
- 查看服务器是否处于活动状态
- 查看服务器是否监听端口
- 查看是否是 TCP
我不知道该怎么办了。
【问题讨论】:
-
把
Class.forName("com.mysql.jdbc.Driver");放在Connection connection = DriverManager.getConnection(host,user,pass);之前不要使用单独的方法来加载你的驱动程序connection();另一个选项,尝试不加载你的驱动程序,因为2007你不需要加载你的驱动程序,还有一件事是你的jdbc连接版本老了,试试升级到新版本看看区别 -
感谢评论,但相同的 EXEPTION
-
你得到什么异常解释更多?
-
intelliJ 说“原因:java.net.ConnectException:连接超时:连接”
-
你是改了驱动还是改了什么?
标签: java mysql jdbc google-cloud-platform google-compute-engine