editar:esto solo se aplica si tiene el control del servidor MySQL ... si no lo está, eche un vistazo a Método de hash de contraseña de Mysql antiguo frente a nuevo
Primero verifique con la consulta SQL
SHOW VARIABLES LIKE 'old_passwords'
(en el cliente de línea de comandos de MySQL, HeidiSQL
o cualquier interfaz que desee) si el servidor está configurado para usar el esquema de contraseña anterior de forma predeterminada. Si esto devuelve old_passwords,Off
simplemente tiene entradas de contraseña antiguas en el user
mesa. El servidor MySQL utilizará la antigua rutina de autenticación para estas cuentas. Simplemente puede establecer una nueva contraseña para la cuenta y se utilizará la nueva rutina.
Puede comprobar qué rutina se utilizará echando un vistazo a mysql.user
mesa (con una cuenta que tiene acceso a esa mesa)
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
Esto devolverá 16 para cuentas con contraseñas antiguas y 41 para cuentas con nuevas contraseñas (y 0 para cuentas sin contraseña, es posible que desee encargarse de eso también).
Use las herramientas de administración de usuarios de la interfaz de MySQL (si las hay) o
SET PASSWORD FOR 'User'@'Host'=PASSWORD('yourpassword');
FLUSH Privileges;
(reemplace User
y Host
con los valores que obtuvo de la consulta anterior). Luego verifique la longitud de la contraseña nuevamente. Debería ser 41 ahora y su cliente (por ejemplo, mysqlnd) debería poder conectarse al servidor.
consulte también la documentación de MySQL:* http://dev. mysql.com/doc/refman/5.0/en/old-client.html
* http://dev.mysql. com/doc/refman/5.0/en/password-hashing.html
* http://dev.mysql. com/doc/refman/5.0/en/set-password.html