Ver Mensaje Individual
  #5 (permalink)  
Antiguo 30/08/2010, 15:01
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Error MySQL 4.1 + using old authentication

Estás tratando de conectar un MySQL Client 4.0 a un MySQL Server 4.1 o posterior.
Se trata básicamente de servidor incompatible para realizar login remoto.
¿Podrías explicarnos un poco por qué usas un cliente tan viejo?

Las soluciones posibles salen del Manual de Referencia:
Cita:
* Actualizar todos los programas clientes para que utilicen la librería de cliente 4.1.1 o posterior.
* Cuando se conecte al servidor con un programa cliente anterior al 4.1, utilice una cuenta que todavía mantenga una clave al estilo pre-4.1.
* Reestablezca la clave al estilo pre-4.1 para cada usuario que necesite utilizar un programa cliente anterior a la versión 4.1. Esto puede hacerse utilizando la sentencia SET PASSWORD y la función OLD_PASSWORD():

Código MySQL:
Ver original
  1. mysql> SET PASSWORD FOR
  2.           -> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
Una alternativa es utilizar UPDATE y FLUSH PRIVILEGES:

Código MySQL:
Ver original
  1. mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
  2.           -> WHERE Host = 'some_host' AND User = 'some_user';
  3.       mysql> FLUSH PRIVILEGES;
Sustituya la clave que quiera utilizar por “newpwd” en los ejemplos precedentes. MySQL no puede retornar la clave original, así que es necesario introducir una clave nueva.

* Indique al servidor que utilice el algoritmo de hashing de claves antiguo:
1. Inicie mysqld con la opción --old-passwords.
2. Asigne una clave con formato antiguo a cada cuenta que tenga su clave actualizada al formato más largo de la versión 4.1. Puede identificar estas cuentas con la siguiente consulta:
Código MySQL:
Ver original
  1. mysql> SELECT Host, User, Password FROM mysql.user
  2.                 -> WHERE LENGTH(Password) > 16;
Para cada registro de cuentas que se muestre en la consulta, utilice los valores de Host y User y asigne una clave utilizando la función OLD_PASSWORD() y SET PASSWORD o UPDATE, tal como se ha explicado previamente.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)