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

时间:2010-11-05 08:12:35

标签: java mysql jdbc

我正在使用以下代码

try {
            Class.forName("org.gjt.mm.mysql.Driver");
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/testdb","root","root"); // cust is the DSN Name
        } catch (Exception e) {
            System.out.println("Exception "+e);
        }

在运行时遇到此异常......

在命令提示符下尝试使用netstat -a来检查mysql是否在下面的端口3306上运行是跟踪...

原始本地地址外部地址状态 TCP用户:epmap用户:0 LISTENING TCP用户:microsoft-ds用户:0 LISTENING TCP用户:3306用户:0 LISTENING

1 个答案:

答案 0 :(得分:0)

好吧,谷歌搜索你的问题我来this solution

尝试重置您的用户密码,在mysql命令行客户端执行下一个语句:

SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('root');

因为它似乎改变了mysql服务器上的身份验证方法。

如果有效,请告诉我。

其他选项是检查MySQL数据库版本与您正在使用的MySQL JDBC驱动程序之间的兼容性。