Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/10/2008, 11:36
dancresi
 
Fecha de Ingreso: marzo-2005
Mensajes: 372
Antigüedad: 20 años
Puntos: 1
ayuda con SET PASSWORD FOR ..

HOLA AMIGOS ESTOY TRABAJNDO CON PH Y MYSQL, NO TE NIA NINGUN PROBLEMA DE CONEXION ESTA TRABAJANDO SIN NINGUN PROBLEMA, DESCARGUE AGATA REPORT Y AL MOMENTO DE EJECUTARLO ME DECIA QUE NO PODIA CONECTARSE A LA BASE DE DATOS, ENTONCES INVESTIGUE EN LA RED HE HICE LO SIGUIENTE:

SET PASSWORD FOR 'root'@'localhost' = OLD_PASSWORD('mysql');

CON ESTAS MODIFICACIONES YA ME PERMITIO CONECTARME A LA BASE DE DATOS CON AGATA REPORT.

MI PROBLEMA ES QUE AL MOMENTO DE USAR PHP Y MYSQL YA NO PUEDO CONECTARME A LA BASE DE DATOS ME A PARECE ESTE ERROR

Warning: mysql_connect() [function.mysql-connect]: OK packet 6 bytes shorter than expected. PID=2144 in C:\www\conexion.php on line 4

Warning: mysql_connect() [function.mysql-connect]: mysqlnd cannot connect to MySQL 4.1+ using old authentication in C:\www\conexion.php on line 4

Warning: mysql_connect() [function.mysql-connect]: in C:\www\conexion.php on line 4

CREO QUE ES POR LO QUE MODIFIQUE, ME PUEDEN AYUDAR A RESOLVER ESTE ERROR GRACIAS..

ESTE ES EL ARTICULO DONDE ME BASE...

#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):
1. 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’.
2. Ahora vamos a “actualizar” la contraseña de root, para eso escribimos:
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).