Client does not support authentication protocol requested by server
Por: braulio | 1 Julio 2006 | Ver comentarios |
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:
SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('mysql');donde
rootes el usuario con el cual quiero usar la antigua forma de autenticación,localhostes 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.


Alex Alvarado
11 de Julio de 2006, 10:43:39 pm
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 !!
Enrique Salinas
14 de Julio de 2006, 07:00:34 pm
Mil gracias
Alejandro
14 de Julio de 2006, 11:04:48 pm
Te pasaste!!! Gracias.
augusto
23 de Agosto de 2006, 01:01:18 pm
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
fernando
6 de Octubre de 2006, 09:27:49 pm
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
Marcelo
9 de Noviembre de 2006, 09:31:03 pm
Gracias, funcciona!!
Fernando
22 de Noviembre de 2006, 04:30:37 pm
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…
alex
22 de Noviembre de 2006, 07:51:04 pm
Puedes poner
old_passworden 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.Fernando
23 de Noviembre de 2006, 01:41:33 pm
Gracias, lo pruebo a ver…
Pedro
11 de Diciembre de 2006, 07:28:45 am
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!!!!!!
Rachel
30 de Enero de 2007, 04:28:46 am
Muy bueno, gracias por publicar esta solucion. No busqueis más esto funciona perfectamente gracias.
juantomas
22 de Febrero de 2007, 08:10:27 am
muchas gracias a si da gusta resolver los problemas con ayuda como esta!!!!!
un abrazo
juantomas
Daniel
11 de Marzo de 2007, 11:15:48 pm
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
Fabian Paez
14 de Marzo de 2007, 01:21:34 pm
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
Joel
15 de Marzo de 2007, 07:03:47 am
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!!!
HSimpson
21 de Marzo de 2007, 04:18:27 pm
Otro agradecido más. Me salvaste.
Ana
23 de Marzo de 2007, 03:14:02 pm
Hola, Un artículo tan acertado que lo que tengo en mis favoritos.
Gracias
Shaman
25 de Marzo de 2007, 09:44:54 pm
maestro funciono! gracias por la ayuda
quinqui
7 de Abril de 2007, 08:41:00 pm
muchas gracias. este método me ha servido de manera excelente
Rodrigo
1 de Mayo de 2007, 01:50:05 pm
Excelente, se ha terminado mi suplicio, y mis horas de hacer chambonadas, gracias muchas.
Pau
10 de Mayo de 2007, 12:25:40 pm
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.
rogha
11 de Mayo de 2007, 09:56:04 am
Lei el trabajo,
pero como puedes hacer para que phpmyadmin use siempre autenticacion de acuerdo a lo que usa mysql5?
Lucas
1 de Junio de 2007, 08:48:51 pm
Te Agradezco mucho soy principiante en php y mysql, saludos
sebastianzar
4 de Junio de 2007, 08:23:25 pm
hola cikos yo 4 noche hugando con mysql y aque mechor
saluto
Saul Suarez-Chavez
7 de Junio de 2007, 10:55:28 am
¡Excelente! Intenté miles de cosas y esto funcionó.
Gracias.
Germán
8 de Junio de 2007, 12:21:34 am
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.
juangabe
12 de Junio de 2007, 06:33:08 pm
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.
juangabe
12 de Junio de 2007, 06:36:59 pm
Disculpa no salio bien el codigo es:
$hostname=”host”;
$username=”usuario”;
$password=”usuario1″;
$dbname=”prueba”;
$tablename=”tabla”;
jacinto
27 de Junio de 2007, 01:58:59 pm
Magnífico
Daniel
28 de Junio de 2007, 04:08:26 pm
Muchas gracias, hacia tiempo que la venia luchando…
tive
5 de Julio de 2007, 02:30:34 pm
Gracias Totales!!!
javiera
7 de Julio de 2007, 10:10:05 pm
te amoooooooooooo…!!!!!!!!
te pasaste… tantos dias tratando de conectarme…!!
Paul Hernando
27 de Agosto de 2007, 01:34:42 pm
k genio, eres mysqlman, you are my hero personal
Paul Hernando
27 de Agosto de 2007, 01:35:51 pm
sorry, my personal hero!!!
Gina Quintanilla
21 de Enero de 2008, 12:19:07 pm
Mil gracias!!!
canduterio
26 de Enero de 2008, 06:36:47 am
Gracias
Rodrigo
8 de Febrero de 2008, 07:26:30 am
grande amigazo !!
yo estoy empezando recien a meterme en esto con ganas.
gran consejo
Henry
28 de Febrero de 2008, 03:52:07 pm
Gracias, funciona de maravilla sin necesidad de recompilar PHP.
Henry
28 de Febrero de 2008, 03:53:04 pm
Gracias, funciona de maravilla y me evita compilar de nuevo PHP.
alex malm
5 de Marzo de 2008, 08:28:40 pm
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
Juan Dominguez
3 de Abril de 2008, 12:29:30 pm
Mil gracias por la explicacion ya tenia, dos dias con este problema.
Gabriel
7 de Abril de 2008, 05:44:09 pm
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…
leito
14 de Abril de 2008, 03:06:41 pm
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
Ornella
19 de Abril de 2008, 05:32:26 pm
GRACIASSSSSS!!!! yo era otra de las que ya estaba por volverse loca. Sos un capo, no hay nada más que decir.
Rafaska
15 de Mayo de 2008, 09:17:19 am
Mil gracias !!!
achiola
25 de Mayo de 2008, 11:02:28 pm
Muchas gracias.