【发布时间】: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 并不想以任何方式连接。
解决问题的好技巧?谢谢!
【问题讨论】:
-
另外,如果该解决方案适用于 MAMP,它带我走向正确的方向:谢谢!