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 escribirSET 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.
55 replies on “Client does not support authentication protocol requested by server”
Hola,
Despues de HORAS de intentar mil tonterias en la web ...
Incluso montar todas las combinaciones posibles que te puedas imaginar ...
Lei esta, pensé ..."Que más dá ...otro intento"
Funcionó correctamente ..,
Gracias !!
Mil gracias
Te pasaste!!! Gracias.
encontre varias soluciones usando otros comandos, q no me funcionaron recien probe la tuya y se soluciono en un triz, los graficos ayudaron un monton por q soy nuevo en mysql, detallada pero a la vez simple y clara, gracias desde ayer estuve q probe estuve padeciendo con este problema, gracias
Esta de mas decirte q luego de un monton de tiempo perdido tu nos diste la solucion, mil gracias y sigue con ese espiritu de enseñanza..........
Mil gracias nuevamente,
Fernando
Gracias, funcciona!!
Muchas gracias, funcionó...no veas que alegria...
una más?....monto Mysql 4.1.21 y phpmyadmin 2.6.4-pl2 en local estoy empezando con las bases de datos y...bueno el rollo de todos el caso es que al dar de alta un nuevo usuario (en phmyadmin), me pasa igual!! siempre tendré que ejecutar SET PASS... o conoces alguna solución así como accesible para un profano en esto....muchas gracias de antemano...
Puedes poner
old_password
en my.ini, compilar la extensión de acuerdo a tu versión de MySQL o hacer lo que se explica en esta entrada para cada usuario que crees.Gracias, lo pruebo a ver...
Bueno, yo tenia prob al conectar una BD desde una aplicacion PHP. Me daba ese error al usar el trigger_error en:
mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR)
Esto lo soluciono. ASi q mi agradecimiento, ya q estuve luchando largo y tendido!!!!
Muchas Gracias!!!!!!
Muy bueno, gracias por publicar esta solucion. No busqueis más esto funciona perfectamente gracias.
muchas gracias a si da gusta resolver los problemas con ayuda como esta!!!!!
un abrazo
juantomas
Ufff, hasta q porfin Gracias, y una pregunta lo que hicimos es el upgrading que pide? o es otro camino para solucionarlo (es volver a lo antiguo?) sacame de esa duda porfavor. Gracias nuevamente
En efecto, esa fue la solucion, muchisimas gracias, a por cierto solo queria decir que amo a DULCELINA FLORES CARDENAS, que es el amor de mi vida y que la extraño mucho.
14/03/2007
Masterrrr!!!!!! Te has pasado!!!!!
Era mi única salvación, tenía que dejar en mi equipo con WinXp las mismas aplicaciones que en un server Linux... Esto es Mysql 4.1.20 y Php 4.3.9 así que imagínate los problemas que me dió... Primero fue el error HTTP 401;5 y después lo de la clave...
Gracias gracias gracias!!! 😀
Otro agradecido más. Me salvaste.
Hola, Un artículo tan acertado que lo que tengo en mis favoritos.
Gracias 🙂
maestro funciono! gracias por la ayuda
muchas gracias. este método me ha servido de manera excelente 😀
Excelente, se ha terminado mi suplicio, y mis horas de hacer chambonadas, gracias muchas.
Estoy aprendiendo PHP, MySql y Apache con un libro y me las estoy viendo p**** para configurarlo todo.
Sólo me faltaba el tema de MySql y tu post me ha venido genial. Muy bien explicado.
Por cierto, sales primero en google en la búsqueda de este error.
Felicidades y mil gracias por la ayuda.
Lei el trabajo,
pero como puedes hacer para que phpmyadmin use siempre autenticacion de acuerdo a lo que usa mysql5?
Te Agradezco mucho soy principiante en php y mysql, saludos
hola cikos yo 4 noche hugando con mysql y aque mechor
saluto
¡Excelente! Intenté miles de cosas y esto funcionó.
Gracias.
3 horas tontiando y nada para saber que la soluci'on era tan sencilla mil gracias de verdad que si...
Germán desde Colombia agradece.
el problema es que tengo la BD en un hosting y cuando me conecto me da ese error la conexion que aplico con php es:
";
exit();
}
else
{
echo "base de datos conectanda.";
}
?>
En lo que me puedas ayudar te agradezco.
Disculpa no salio bien el codigo es:
$hostname="host";
$username="usuario";
$password="usuario1";
$dbname="prueba";
$tablename="tabla";
Magnífico
Muchas gracias, hacia tiempo que la venia luchando...
Gracias Totales!!!
te amoooooooooooo...!!!!!!!!
te pasaste... tantos dias tratando de conectarme...!!
k genio, eres mysqlman, you are my hero personal
sorry, my personal hero!!!
Mil gracias!!!
Gracias 🙂
grande amigazo !!
yo estoy empezando recien a meterme en esto con ganas.
gran consejo
Gracias, funciona de maravilla sin necesidad de recompilar PHP.
Gracias, funciona de maravilla y me evita compilar de nuevo PHP.
Muchas gracias amigo, estube intentando de todo hasta que encontre tu solucion, ahora solo tengo una duda en donde bloqueo para que el usuario root no pueda accederse remotamente
Mil gracias por la explicacion ya tenia, dos dias con este problema.
Tengo un problema estoy, compre el hosting de godaddy y me da este problema, "Client does not support authentication protocol requested by server; consider upgrading MySQL client" al momento de conectarme a la base de datos no entiendo que es y como puedo solucionarlo, alguien me puede ayudar? Gracias...
por fin! como un boludo editando el config.inc.php! encima no me dejaba entrar como root pero si como cualquier otro usuario! no entendia nada... pero bue...
gracias
GRACIASSSSSS!!!! yo era otra de las que ya estaba por volverse loca. Sos un capo, no hay nada más que decir.
Mil gracias !!!
Muchas gracias.
Buena!!!!
Estoy aprendiendo y esto me tenia bloqueado en el proceso; GRACIAS POR LA AYUDA !!!!
Gracias a Dios que esta fue la primera opcion que me tiro google, porque me quedo a la perfeccion
Llevaba horas googleando para intentar que phpmyadmin conectara a mysql, ninguna solución parecía funcionar y la verdad no se me ocurrió que algo tan elemental como la encriptación de la password fuera el problema (con tanto código libre circulando por la red uno se sorprende de estos "gazapos" en software de tanta calidad la verdad), mil gracias por tu ayuda.
Genial, me resultó... ahora tengo otro problemita, resulta que tengo mysql 6.0 mysqlCC 0.9.2 y apache 2.2. Al crear y editar las tablas por consola me resulta sin problemas, pero por algo instalé MysqlCC, para poder trabajar con tablas visualmente, pero al tratar de crearlas con este último me sale un mensajito, cito:
root@MySQL Datafiles:3306] ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MYISAM PACK_KEYS=DEFAULT ROW_FORMAT=DEFAULT' at line 1.
Ojo ya he cambiado el tipo de tabla a Innodb, y he tratado de intrusear en la configuración de MysqlCC, pero nada. Al tratar de editar las tablas que he creado por consola, las visualiza sin problemas, pero al tratar de modificarlas me aparece el mismo error. Si alguien pudiera señalar algo se lo agradecería. Un absoluto neófito, novato en mysql y Php. Gracias
Burp!! se me olvidó contarles que tengo instalado Php 5, y todo corre en XP. Graciassss!!!!
Gracias amigo por tu valioso comentario...!
Me sirvio de mucho.
Vaya, voy a ser yo quien les lleve la contraria a todos pero a mi no me funcionó.
Sigue mostrando el mismo mensaje de error.
Me ha pasado anteriormente esto y lo lamentable es que no recordaba que pu..., pero bueno buscando y gracias a nuestro amigo Braulio lo pude recordar, lo hice y funciono de una, gracias amigo. TAF
yo tuve el problema con DBF2MySQL al intentar convertir los formatos de unas tablas, y ya habia intentado esta misma solución pero no me funcionaba.
No se por que pero con root no me funcionaba, hasta que cree un nuevo usuario al que sí le funciono el OLD_PASSWORD y problema solucionado!!!