PHP - mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

   
Vista:

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por Cesar (5 intervenciones) el 10/03/2013 19:15:37
Hola, tengo un problema al realizar la conexion a una base de datos mysql desde php, el error que me devuelve la funcion mysql_error() es :

"mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file".

Si alguien pudiera decirme algo, muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por xve (5520 intervenciones) el 10/03/2013 20:29:53
Hola Cesar, este error es dado porque te estas conectando a un servidor MySQL 4.1 que esta utilizando la antigua codificación de password, que actualmente tu conector (mysqlnd) ya no utiliza.

Para solucionarlo, tienes que actualizar la contraseña de la base de datos tal y como te comenta:
1
update `users` SET PASSWORD = PASSWORD('tu contraseña')


De esta manera, se actualizara la contraseña al nuevo formato y podrás conectarte sin ningún problema.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por cesar (5 intervenciones) el 15/03/2013 14:49:21
Hola xve, muchas gracias por la respuesta, bueno te comento, he estado haciendo pruebas:
la idea es que un archivo php se conecte a una base de datos mysql. La base de datos mysql se encuentra en un servidor "x" y el archivo php se encuentra en mi servidor local en este caso tengo instalado xampp. Pues nada, sigo teniendo problemas para conectarme, pero no solo a esa, sino a cualquier base de datos. Sin embargo cuando el archivo php lo coloco en otro servidor que no sea el local no tengo ningun problema.
Bueno sabeis a que se debe esto, gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por xve (5520 intervenciones) el 16/03/2013 00:11:00
Hola Cesar, pero ya estamos hablando de otro problema, no?

A Mysql, tienes que decirte que un usuario dado, desde donde se puede conectar... por defecto, únicamente desde la maquina local, por eso al crear un usuario indicas como host localhost.

Si quieres que se conecten desde cualquier IP, en vez de poner localhost, por un %.
Si únicamente pones el % y no hay un registro con localhost, no se podrá conectar ese usuario
desde la misma maquina... puedes crear tantas lineas como desees.

Si quieres que únicamente se conecte desde una IP, pon la ip

Indícame el error exacto que te da.

Espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por Cesar (5 intervenciones) el 20/03/2013 16:46:09
Si xve, perdona que haya tardado tanto en contestar. Si es verdad es otro problema, el primer problema esta solucionado con lo que me indicaste, actualice la contraseña y solucionado, muchas gracias.

El problema que tengo ahora es que desde mi servidor local (xampp), intento conectarme a una base de datos de un hosting gratuito(nixiweb), y me sale este error:
"php_network_getaddresses: getaddrinfo failed: Host desconocido. "

El codigo que utilizo es este:
1
2
3
4
5
6
7
8
9
<?php
$data= mysql_connect("mysql.nixiweb.com","xxxx","xxxx");
if (!$data){
	echo mysql_error();
} else {
echo "conectado satisfactoriamente";
}
mysql_close($data);
?>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por xve (5520 intervenciones) el 21/03/2013 07:52:46
Hola Cesar, el error esta muy claro... no existe: mysql.nixiweb.com

Si le haces un ping no responde... estas seguro que es ese el dominio?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por Cesar (5 intervenciones) el 21/03/2013 14:09:45
No se puede acceder de forma remota a la base de datos de nixiweb.
Muchas gracias por la ayuda xve.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por xve (5520 intervenciones) el 21/03/2013 14:52:04
Hola Cesar, gracias por comentarlo...

La solución que te queda, es realizar lo que se llama un webservice, que es una pagina web que espera que le lleguen los datos de otra web para guardarlos en la base de datos, modificar, etc...

Espero que te sirva.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication.

Publicado por Cesar (5 intervenciones) el 21/03/2013 17:20:35
Solucionado con el webservice, gestiono todos los datos desde otra pagina alojada en otro hosting.
Gracias de nuevo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar