握手期间通信失败。是否在localhost:3306上运行服务器?

时间:2011-05-27 14:12:14

标签: mysql jdbc database-connection

我刚刚将服务器升级到Suse 11.4&我正在使用MySQL 5& Java 6和systinet作为我的Web服务器 当我尝试登录我的应用程序时,我似乎无法查看我的数据库,当我检查登录systinet时,它给了我一个错误:

  

无法创建JDBC连接   |握手期间的通信失败   是否在localhost上运行服务器:3306?“。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

我有同样的问题。应该应该有mysql连接器jar文件。本来我有一些旧版本的jar文件,我用5.1兼容的连接器jar版本替换它。

确认您的java环境中有驱动程序的另一种简单方法是为该Driver类做#import。

e.g。如果Class.forName("com.mysql.jdbc.Driver");是你的Driver类,然后暂时键入#import com.mysql.jdbc.Driver; 看看是否有任何构建错误,修复它,查询应该有效。

答案 1 :(得分:0)

回答一个问题,那就是有一个数据库服务器在localhost - 3306端口上运行吗?请参阅netstat,如果mysql服务正在侦听localhost:3306,此外,如果您正在使用的用户可以访问localhost,则需要连接数据库。

答案 2 :(得分:0)

更新你的mysql-connector-java版本。

当我更新时,我遇到了同样的问题      mysql-connector-java:2.0.14到mysql-connector-java:5.1.22 它运作得很好