我的主机出现问题,因为我一直被端口扫描阻止。尽管他们一直将我列入白名单,但我的 IP 是动态的,所以这并不是真正的解决方案。
我一直在检查,我用来直接连接到主机中的 MySQL 数据库的唯一 2 个应用程序是 MySQL Workbench 和我正在开发的应用程序。我猜 MySQL Workbench 不是进行端口扫描的,因为我明确要求它连接到端口 3306。
另一方面,我正在制作的应用程序似乎没有直接连接到端口。我的理解是 JDBC 会自动执行此操作,但应用程序并没有这样做。因此,我的问题是,我怎样才能让我的应用程序直接指向端口 3306?
也有可能我的应用程序不是负责端口扫描的应用程序,它是别的东西,但是,我可以弄清楚是什么。我不使用任何类型的安全软件。
顺便说一句,在我的连接中执行的 try/catch 中,我让 catch 将数据库连接到我的本地主机,以便我可以继续工作和测试我的应用程序。
这是我的代码:
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.*;
import java.util.ArrayList;
import javax.imageio.ImageIO;
import javax.swing.JButton;
import Controller.utilidadesGenericas;
import Objetos.Generos;
import Objetos.Tema;
import Objetos.Usuario;
import Objetos.Videojuego;
import View.errorPopUp;
public class database {
protected Connection conexion;
protected Statement statement;
protected static String schema = "federicoanelli_S";
private static String host = "67.222.1.89";
private static String user = "federicoanelli_S";
private static String pass = "(PASSWORD HERE)";
private static String servidor = "jdbc:mysql://"+host+"/" + schema;
//protected static String schema = "Streamz";
//private static String user = "root";
//private static String pass = "";
//private static String servidor = "jdbc:mysql://localhost/" + schema;
public database() {
this.init();
}
public void init() {
try {
Class.forName("com.mysql.jdbc.Driver");//com.mysql.jdbc.Driver
conexion = DriverManager.getConnection(servidor, user, pass);
} catch (Exception e) {
this.schema = "Streamz";
this.user = "root";
this.pass = "";
this.servidor = "jdbc:mysql://localhost/"+this.schema;
try {
Class.forName("com.mysql.jdbc.Driver");
conexion = DriverManager.getConnection(servidor, user, pass);
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}//com.mysql.jdbc.Driver
catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
e.printStackTrace();
}
}
public Connection getConexion() {
return conexion;
}