Bug #2287 Connector/J V3.0.6 cannot connect to MySql 5.0.0 alpha

Submitted: 5 Jan 2004 9:03 Modified: 5 Jan 2004 9:17
Reporter: Ivan Monnier Email Updates:
Status: Not a Bug Impact on me:
None 
Category:Connector / J Severity:S2 (Serious)
Version:3.0.6 with 5.0.0 server OS:Solaris (Solaris 8)
Assigned to: Mark Matthews CPU Architecture:Any

[5 Jan 2004 9:03] Ivan Monnier
Description:
We get :

ERROR:main():Connection Error:Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream

** BEGIN NESTED EXCEPTION ** 

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1073)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:619)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:1511)
        at com.mysql.jdbc.Connection.<init>(Connection.java:485)
        at com.mysql.jdbc.Driver.connect(Driver.java:341)
        at java.sql.DriverManager.getConnection(DriverManager.java:517)
        at java.sql.DriverManager.getConnection(DriverManager.java:177)
        at mysqlconn.main(mysqlconn.java:24)

** END NESTED EXCEPTION **

How to repeat:
Compile this little program mysqlconn.java :

import java.sql.*;

public class mysqlconn {

  static void usage() {
        System.out.println("\nUsage: java urlconn driver url user password\n");
  }

  public static void main ( String[] args ) {

     Connection con;

     if (args.length != 4) {
        usage();
        return;
     }

     try {
       Class.forName(args[0]);               
       con = DriverManager.getConnection(args[1],args[2],args[3]);                                                  
     }
     catch ( ClassNotFoundException cnfe) {
       System.out.println("ERROR:main():JDBC driver not found verify CLASSPATH:" + cnfe.getMessage());                              
       return;
     }
     catch (Exception e) {
       System.out.println("ERROR:main():Connection Error:" + e.getMessage());                                                       
       return;
     }
  }
}

Launch it on a V5.0.0 server : 
java mysqlconn "com.mysql.jdbc.Driver" "jdbc:mysql://localhost/qwam_test" "john" "doe"
ERROR:main():Connection Error:Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream

** BEGIN NESTED EXCEPTION ** 

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
        at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1073)
        at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:619)
        at com.mysql.jdbc.Connection.createNewIO(Connection.java:1511)
        at com.mysql.jdbc.Connection.<init>(Connection.java:485)
        at com.mysql.jdbc.Driver.connect(Driver.java:341)
        at java.sql.DriverManager.getConnection(DriverManager.java:517)
        at java.sql.DriverManager.getConnection(DriverManager.java:177)
        at mysqlconn.main(mysqlconn.java:24)

** END NESTED EXCEPTION **

launch it on a V3.23.55 server :

java mysqlconn "com.mysql.jdbc.Driver" "jdbc:mysql://localhost/qwam_test" "john" "doe"             
ERROR:main():Connection Error:Invalid authorization specification: Access denied for user: 'john@localhost' (Using password: YES)
 040105 17:49:56  mysqld ended

Which is correct !
[5 Jan 2004 9:17] Mark Matthews
5.0.0 uses a new authentication scheme which 3.0.6 doesn't know anything about.

You need to upgrade to Connector/J 3.0.9 (or a nightly build of 3.0.x from http://downloads.mysql.com/snapshots.php) to connect to MySQL-5.0.0

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.