Java Can';t连接到托管在google实例中的MYSQL服务器
我得到了一个谷歌云平台-计算引擎实例,我在上面安装了MySQL服务器 现在我无法从安装了sql的虚拟机中获得任何生命信号, 对于exsample:Java Can';t连接到托管在google实例中的MYSQL服务器,java,mysql,jdbc,google-cloud-platform,google-compute-engine,Java,Mysql,Jdbc,Google Cloud Platform,Google Compute Engine,我得到了一个谷歌云平台-计算引擎实例,我在上面安装了MySQL服务器 现在我无法从安装了sql的虚拟机中获得任何生命信号, 对于exsample: package com.company; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Main { public static void connection(){ try {
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();
}
}
这需要几秒钟,就像他试图连接和验证一样
in conncection
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
我所做的工作是:
- 在my.conf中:
,绑定地址=0.0.0.0
跳过外部锁定注释
- 重新启动服务器
- 查看服务器是否处于活动状态
- 查看服务器是否正在侦听端口
- 看它是不是TCP
我不知道该怎么办。您必须对
my.cnf
文件进行以下更改
my.cnf
bind-address = www.000webhost.com (OR)
bind-address = xx.xx.xx.xx (IP Address)
更改此设置后,您需要重新启动MySQL服务
另外值得注意的是,MAMP/MAMP Pro默认设置MAMP\u skip-networking\u MAMP
。您必须在my.cnf
bind-address = www.000webhost.com (OR)
bind-address = xx.xx.xx.xx (IP Address)
如果您没有任何用户登录问题,您应该能够从Java代码连接到MySQL数据库。在我的情况下,根本原因是:防火墙。我正试图在工作时运行该应用程序 有趣的是,本地运行的应用程序引擎标准实际上生成了一个无错误的登录,这让我放弃了防火墙的假设
解决方案:我发现把笔记本从家里带到公司的网络上并没有用。当我在手机中连接到共享连接时,它工作得非常好。put
Class.forName(“com.mysql.jdbc.Driver”)
beforeConnection Connection=DriverManager.getConnection(主机、用户、通行证)代码>不要使用单独的方法加载驱动程序连接()代码>另一个选项,从2007年开始尝试不加载驱动程序您不需要加载驱动程序,另一件事您的jdbc连接版本是旧的,尝试将其升级到新版本,并检查不同版本的注释,但相同的例外您得到了什么异常?intelliJ说“原因:java.net.ConnectException:连接超时:connect”您是否更改了驱动程序或更改了什么?