The old password length are 16 characters, but new one  41 characters,

Check your configuration file my.cnf

# vi /etc/my.cnf

Remove or comment the line :  old_passwords = 1

Login into MySQL and check password Length using below query,

Mysql>  SELECT user, Length(Password) FROM mysql.user;
+----------+--------------------+
| user     | Length(`Password`) |
+----------+--------------------+
| root     |                 41 |
| root     |                 16 |
| user2    |                 16 |
| user2    |                 16 |
+----------+--------------------+

To update the password length or for each user, run the following:
 
#  mysql

mysql> UPDATE mysql.user SET Password = PASSWORD('password');

or

mysql> UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username';

mysql> FLUSH PRIVILEGES;

If you have update any changes must restart MySQL,


/etc/init.d/mysqld restart
Stopping mysqld:  [  OK  ]
Starting mysqld:  [  OK  ]

Check again,

mysql> SELECT user, Length(password)     FROM mysql.user;
+-----------+------------------+
| user      | Length(password) |
+-----------+------------------+
| root      |                0 |
| root      |                0 |
| root      |                0 |
| user      |               41 |
| user      |               41 |
| linuxuser |               41 |
| linuxuser |               41 |
+-----------+------------------+