Siempre que hago una nueva instalación de MySQL, y entro por phpMyAdmin para administrar mi base de datos me encuentro con el siguiente error:
#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client
Esto sucede porque a partir de la versión 4.1.1 MySQL usa un protocolo de autenticación basada en un algoritmo de encriptación de passwords y ya no se puede entrar como estabamos acostumbrados los usuarios antiguos.
Podemos solucionar este problema fácilmente con los siguiente pasos (Para el ejemplo estoy usando MySQL 4.1.12a-nt y Windows XP con Service Pack 2):
-
Entramos por consola a la carpeta de MySQL y escribimos: mysql -u root -p
, donde root es el usuario principal de MySQL nos pedirá que ingresemos la contraseña, en mi caso es 'mysql'.
-
Ahora vamos a "actualizar" la contraseña de root, para eso escribimos:
SQL:
SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('mysql');
donde root
es el usuario con el cual quiero usar la antigua forma de autenticación, localhost
es el nombre de mi servidor de base de datos y 'pass' es la contraseña que quiero usar (Si tenemos mas usuarios, debemos hacer lo mismo por cada usuario; es decir si tuviera algun usuario llamado 'valois' tendría que escribir SET PASSWORD FOR 'valois'@'localhost' = OLD_PASSWORD('PasswordDeValois');
y lo mismo para otros usuarios).
- Listo 🙂
Eso es todo, despues de eso podremos entrar sin problemas a administrar nuestra base de datos; sea por consola, phpMyAdmin o cualquier herramienta, cualquier duda ya saben donde molestarme.