gpt4 book ai didi

java - 如何在 opensuse 上连接到 mysql localhost?

转载 作者:可可西里 更新时间:2023-11-01 07:45:31 24 4
gpt4 key购买 nike

首先是配置的细节:

  1. 带有 Parallels Plesk Panel 10(64 位)服务器的 openSUSE 11.3
  2. 已安装并运行 MySQL(无“跳过网络”)
  3. java 1.6.0_24(Java HotSpot(TM) 64 位服务器 VM(内部版本 19.1-b02,混合模式))

mysql 服务器监听 0.0.0.0:3306

netstat -lnp | grep mysql
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 3499/mysqld
unix 2 [ ACC ] STREAM LISTENING 10916 3499/mysqld /var/run/mysql/mysql.sock

现在是问题。我无法使用此类使用 jdbc (mysql-connector-java-5.1.17-bin.jar) 从本地主机连接到 mysql:

public class Connect {
public static void main(String[] args) {
Connection conn = null;

try {
String userName = "user";
String password = "password";
// This also doesn't work with "localhost" in the connect string.
String url = "jdbc:mysql://127.0.0.1:3306/database";

System.out.println("URL: " + url);

Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(url, userName, password);
System.out.println("Database connection established");
} catch (Exception e) {
e.printStackTrace();
System.err.println("Cannot connect to database server");
} finally {
if (conn != null) {
try {
conn.close();
System.out.println("Database connection terminated");
} catch (Exception e) { /* ignore close errors */
}
}
}
}
}

更多详情:

telnet 超时

telnet localhost 3306
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection timed out

nmap 显示端口 3306 在本地主机上被过滤

nmap -p 3306 localhost
Starting Nmap 5.00 ( http://nmap.org ) at 2011-08-30 19:21 CEST
Interesting ports on localhost (127.0.0.1):
PORT STATE SERVICE
3306/tcp filtered mysql

Nmap done: 1 IP address (1 host up) scanned in 2.31 seconds

如果我使用 Connect 类从外部连接到服务器 3306 端口,一切正常。

因为我认为这是防火墙的问题。这是 plesk 配置中心自动生成的防火墙。

iptables -nvL
Chain INPUT (policy DROP 0 packets, 0 bytes)
target prot opt in out source destination
ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 reject-with tcp-reset
DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:10000
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:4306
DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:12443
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11443
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:11444
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8447
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8443
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8880
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:443
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:21
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:587
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:25
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:465
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:110
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:995
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:143
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:993
DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:106
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306
ACCEPT tcp -- * * 127.0.0.1 0.0.0.0/0 tcp dpt:5432
DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5432
ACCEPT tcp -- * * 127.0.0.1 0.0.0.0/0 tcp dpt:9008
ACCEPT tcp -- * * 127.0.0.1 0.0.0.0/0 tcp dpt:9080
DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9008
DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9080
DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:137
DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:138
DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:139
DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445
DROP udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:1194
ACCEPT udp -- * * 0.0.0.0/0 0.0.0.0/0 udp dpt:53
ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53
DROP icmp -- * * 0.0.0.0/0 0.0.0.0/0 icmp type 8 code 0
DROP all -- * * 0.0.0.0/0 0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
target prot opt in out source destination
ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 reject-with tcp-reset
DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
ACCEPT all -- lo lo 0.0.0.0/0 0.0.0.0/0
DROP all -- * * 0.0.0.0/0 0.0.0.0/0

Chain OUTPUT (policy DROP 0 packets, 0 bytes)
target prot opt in out source destination
ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
REJECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp flags:!0x17/0x02 reject-with tcp-reset
DROP all -- * * 0.0.0.0/0 0.0.0.0/0 state INVALID
ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0

此外,我可以使用 perl 连接到本地 mysql。

$dsn = "dbi:mysql:$database:localhost:3306";
$connect = DBI->connect($dsn, $user, $pw);

对于解决此问题的任何提示,我将深感遗憾。马丁

最佳答案

你能修改你的 IPTables 吗?如果可以,请尝试添加此规则:

iptables -I INPUT -s 127.0.0.1 -p tcp --dport 3306 -j ACCEPT

关于java - 如何在 opensuse 上连接到 mysql localhost?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7247501/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com