我从我的java客户端连接到我的MySQL数据库,并在实例化我的连接变量时捕获连接timedout错误。我假设我的连接字符串不正确。 java客户端和MySQL在同一台机器上。
我的mysql数据库是作为WAMP的一部分安装的,我在其ini文件中看到端口是3306.我已经尝试了localhost,127.0.0.1和我的ip从ipconfig返回所有连接超时。我无法在phpMyAdmin中看到任何ip,但也许我错过了那里的东西。即使java客户端和mySql在同一台服务器上,也许3306需要打开。
我如何确定mysql ip和port以及它是否打开?
我的代码
private Connection conn;
private Statement statement;
private ResultSet resultset;
public DbConnect(){
try{
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://xx.x.x.xxx:3306/pk","root","");
} catch (Exception e){
System.out.println("Error: " + e);
}
}
答案 0 :(得分:0)
原来这是一个显而易见的事情的组合而且没有表现的日食。我不得不在我的服务器上打开端口3306,Eclipse没有保存我的更改,因此后续测试很困惑。
答案 1 :(得分:0)
SQL查询
SHOW VARIABLES WHERE Variable_name = 'hostname'
将显示MySQL服务器的主机名,您可以轻松地将其解析为其IP地址。
您可以在MySQL手册中找到有关此内容的详细信息:12.4.5.41。 SHOW VARIABLES语法和5.1.4。服务器系统变量
检查端口号: 在运行Mysql的过程中,您可以在MySQL命令行客户端上使用此查询 -
SHOW VARIABLES WHERE Variable_name ='port';
mysql> SHOW VARIABLES WHERE Variable_name = 'port';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| port | 3306 |
+---------------+-------+
1 row in set (0.00 sec)
它将为您提供运行MySQL的端口号。