in reply to Re^9: plugin 'mysql_old_password' cannot be loaded
in thread plugin 'mysql_old_password' cannot be loaded

Thanks !

I've found that this portable version of Strawberry include the version 4.033 of DBD::mysql, and the connection to the server works.

Am I correct with saying that

SET PASSWORD FOR 'some_user'@'some_host' = OLD_PASSWORD('password');

F

Replies are listed 'Best First'.
Re^11: plugin 'mysql_old_password' cannot be loaded
by poj (Abbot) on Feb 21, 2019 at 20:51 UTC
    Will remove the error with the missing mysql_old_password plugin ?

    No, this is how I understand it ;

    Support for pre-4.1 password hashes was removed in MySQL 5.7.5
    Strawberry Perl 5.24.4.1 is compiled with mysql-5.7.16 so will not work with any user account that has a short (16 byte) password hash like your current one.
    It's the version of mysql library that's important not the version of the DBD-mysql module.

    These versions should work with 16-byte hash (or 41-byte hash)

    Perl 5.20.3   (2016-03-08) comes with DBD-mysql 4.033 and mysql-5.1.44 so post 4.1 and pre 5.7.5
    Perl 5.24.0.1 (2016-05-11) comes with DBD-mysql 4.033 and mysql-5.1.44 so post 4.1 and pre 5.7.5
    

    This version should work only with 41-byte hash.

    Perl 5.24.1.1 (2017-01-16) comes with DBD-mysql 4.041 and mysql-5.7.16 so post 5.7.5.

    To use perl 5.24.1.1 either

    1. For existing user (with 16-byte hash) generate a new 41-byte hash using 
         SET PASSWORD FOR 'some_user'@'some_host' = PASSWORD('password');
    
       If you do that any existing pre-4.1 client will not be able to use that user account.
       
       For info the first production version of mysql-4.1.7 was released
       in October 2004.
      
       note. PASSWORD_OLD('password') generates a 16-byte hash.
      
    or 
    
    2  Create a new user account (which will be by default a 41-byte hash) and use that.    
       Any pre-4.1 clients could continue to use the old account.
    
    poj