【问题标题】:PHPStorm doesn't connect to local MySQL [duplicate]PHPStorm 未连接到本地 MySQL [重复]
【发布时间】:2015-10-30 02:58:44
【问题描述】:

我正在使用 OsX 并尝试将 PHP Storm 连接到 MySQL。 使用 MAMP 时运行良好,但现在我直接使用 MySQL,从官方网站下载,PHPStorm 不再连接到 MySQL。

PHPStorm 返回此错误:

与 MyDatabase@localhost 的连接失败 java.sql.SQLException: 通讯链路故障

最后一个成功发送到服务器的数据包是 0 毫秒 前。驱动程序没有收到来自服务器的任何数据包。在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:389) 在 com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1038) 在 com.mysql.jdbc.MysqlIO.(MysqlIO.java:338) 在 com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2237) 在 com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2270) 在 com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2069) 在 com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:794) 在 com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:44) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:389) 在 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399) 在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325) 在 RemoteDriverImpl.connect(RemoteDriverImpl.java:27) 中 RemoteUtil.access$100(RemoteUtil.java:36) 在 RemoteUtil$RemoteInvocationHandler.invoke(RemoteUtil.java:229) 在 com.sun.proxy.$Proxy122.connect(Unknown Source) 在 LocalDataSource.getConnection(LocalDataSource.java:240) 原因: java.net.ConnectException:连接被拒绝 java.net.PlainSocketImpl.socketConnect(Native Method) 在 java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:382) 在 java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:241) 在 java.net.PlainSocketImpl.connect(PlainSocketImpl.java:228) 在 java.net.SocksSocketImpl.connect(SocksSocketImpl.java:431) 在 java.net.Socket.connect(Socket.java:527) 在 com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:213) 在 com.mysql.jdbc.MysqlIO.(MysqlIO.java:297) 在 com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2237) 在 com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2270) 在 com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2069) 在 com.mysql.jdbc.ConnectionImpl.(ConnectionImpl.java:794) 在 com.mysql.jdbc.JDBC4Connection.(JDBC4Connection.java:44) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法) 在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) 在 java.lang.reflect.Constructor.newInstance(Constructor.java:513) 在 com.mysql.jdbc.Util.handleNewInstance(Util.java:389) 在 com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:399) 在 com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:325) 在 RemoteDriverImpl.connect(RemoteDriverImpl.java:27)

我认为这与配置有关,但我不明白究竟是哪个问题。

PHPMyAdmin 只需使用用户名和密码即可正确连接,而 PHP Storm 并不想以任何方式连接。

解决问题的好技巧?谢谢!

【问题讨论】:

标签: mysql macos jdbc


【解决方案1】:

问题出在 MySQL 连接的端口上。

要找到我使用的正确端口号:

mysql > select user();
mysql > show variables;

除其他外,这向我显示了 MySQL 正在连接的端口,该端口是 3307 而不是默认的 3306,因此连接被拒绝。

【讨论】:

    猜你喜欢
    • 2020-10-27
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 2018-03-09
    • 2019-10-12
    • 1970-01-01
    • 2018-11-18
    相关资源
    最近更新 更多