java - 无法从外部 IPV4 地址连接到 MySQL 服务器
问题描述
一段时间以来,我的 Java 应用程序一直存在问题。我已经尝试了几种选择,试图找出从新驱动程序到注册驱动程序到更改我的 MySQL 数据库权限的问题。我只有在连接外部 IP 时才会遇到这个问题。我认为这可能与 IPV6 有关,但我试图在我的树莓派上禁用它,但是当我运行“netstat -tlnp”时,我得到了这个:
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 547/java
tcp 0 0 0.0.0.0:8200 0.0.0.0:* LISTEN 547/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 547/java
tcp 0 0 0.0.0.0:5900 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp6 0 0 :::5900 :::* LISTEN -
tcp6 0 0 :::8080 :::* LISTEN -
tcp6 0 0 :::22 :::* LISTEN
这表明 MySQL 服务器仍在运行 tcp6,端口为 8080,我将其从标准 3600 更改。我的 java 主类如下所示:`public static String IP; //MySQL服务器IP的NULL变量 public static final String user = "user"; //mySQL服务器的用户名 public static final String password = "pass"; //mySQL 服务器的密码 TODO 弄清楚如何隐藏密码 static Connection conn; //NULL 连接以连接到 mySQL 服务器 public static Scanner console = new Scanner(System.in); //用于从控制台获取数字和字符串
/**
* Runs the program
* @param args
*/
public static void main(String[] args) {
System.out.print("Internal or External IP (1 for Internal or 2 for external): ");
int choice = console.nextInt();
switch (choice){
case 1:
IP = "10.0.0.183";
break;
case 2:
IP = "external ipv4 address";
break;
}
//TRY CATCH method to ensure that the mySQL connection was successful
try{
conn = DriverManager.getConnection("jdbc:mysql://"+IP+":8080/mydb",user,password);
}catch(SQLException e){
System.out.println(e.getLocalizedMessage());
System.exit(1);
}`
这是我尝试连接到我的外部 IPV4 地址时遇到的错误“通信链接失败”
最后一个成功发送到服务器的数据包是 0 毫秒前。驱动程序尚未收到来自服务器的任何数据包。`
有没有人有解决方案或需要我的其他任何东西来帮助解决这个问题!谢谢!
解决方案
您是否使用此 10.0.0.183 创建了 MySQL 用户?请使用此创建 MySQL 用户并提供授权并检查它
推荐阅读
- clickhouse - ClickHouse异常,代码:1002,主机:xxx,端口:8123;xxx:8123 没有回应
- r - 使用带有范围的 updateSliderInput 更新闪亮的滑块输入
- .net - .net 上传图片到谷歌存储
- html - angular - 加载组件时动画效果失败
- regex - 使用 PowerShell 和正则表达式解析文本
- flutter - Google 在 SingleChildScrollView 中的表单内映射
- multithreading - 用于运行脚本和更新 GUI 的 TCL 线程
- javascript - 我想创建测验
- django - 无效的 Geojson 对象 Django 传单 [django]
- c# - 用于填充包含每项 BindingList 数据的 DataGridView 的语法