如何检查mysql连接的默认端口号? 连接不起作用! jdbc连接

我试图在java文件中使用jdbc连接数据库。 它根本没有连接并且经常给我错误“出了问题”; 我想这是因为端口号,因为所有其他数据,如用户名,密码和其他代码似乎是正确的。

我想检查默认端口号,以便我可以正确尝试。 我确实尝试使用这8080,80和3306中的所有三个,但它显示我的错误。

这里端口8080用于HTTP服务器,3306应该是默认的研究和80随机。

try { Class.forName("com.mysql.jdbc.Driver"); System.out.println("Driver found"); } catch (ClassNotFoundException e) { System.out.println("Driver not found"); } String url="jdbc:mysql://localhost:8080 or 80 or 3306 or without port number/test"; String user="user"; String password=""; Connection con=null; try { con=DriverManager.getConnection(url, user, password); System.out.println("Success"); } catch (SQLException e){ e.printStackTrace(); } } 

当使用String url =“jdbc:mysql:// localhost:3306 / test”时,错误在下面给出;

  Driver found com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1036) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:338) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2232) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2265) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2064) at com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:790) at com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:44) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at com.mysql.jdbc.Util.handleNewInstance(Util.java:377) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:395) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325) at java.sql.DriverManager.getConnection(DriverManager.java:582) at java.sql.DriverManager.getConnection(DriverManager.java:185) at com.town.connect.Dbconnection.main(Dbconnection.java:26) Caused by: java.net.ConnectException: Connection refused at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:382) at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:241) at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:228) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431) at java.net.Socket.connect(Socket.java:527) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:213) at com.mysql.jdbc.MysqlIO.(MysqlIO.java:297) ... 15 more 

您可以通过访问这些设置

 mysql> show variables; 
 DriverManager.getConnection("jdbc:mysql://"+dbaddress+"/"+dbname+"?user=" + username + "&password=" + password) 

这个声明可以帮到你。 无需定义任何其他端口。 只需根据您的mysql配置定义以下变量。

  • dbaddress
  • DBNAME
  • 用户名
  • 密码

如果这不起作用,您可以发布堆栈跟踪或错误的屏幕截图吗?

如果您想知道端口号,可以使用以下命令

SHOW VARIABLES WHERE Variable_name =’port’;