Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/06/2007, 06:43
Avatar de deadlykyo
deadlykyo
 
Fecha de Ingreso: noviembre-2005
Ubicación: Cbba - Bolivia
Mensajes: 747
Antigüedad: 18 años, 5 meses
Puntos: 5
Re: obtengo el error 'access denied for user ''@'localhost'

Holas Chelix, bueno para empezar te explico como registra MySQL los usuarios, bueno si revisaste cada vez que se instala MySQL se crean tres bases de datos por defecto: test, mysql e information_schema, dentro de la base de datos de mysql, en la tabla user puedes encontrar puedes encontrar todos los usuarios que existen para conectarse a la base de datos y sus permisos, cuando registras un nuevo usuario se registra dentro de la tabla user tomando en cuenta el host desde cual se ha de conectar es decir que puedes tener dos registros en ese tabla o mas, como te muestro mas abajo:
Código PHP:
mysqlselect HostUser from mysql.user;
+-----------+----------+
Host      User     |
+-----------+----------+
| %         | 
root    |
localhost portatil |
localhost root     |
+-----------+----------+
3 rows in set (0.02 sec
si ves para el usuario root tengo un registro para poder acceder desde cualquier punto de red, como tambien para poder acceder desde localhost es decir localmente, podrias intentar hacer esa consulta y ver si tienes registro de root para localhost, ya que si no tienes entonces tu sentencia SET PASSWORD fallara y mostrara ese error, ahora tambien puedes intentar esto o su equivalente:
Código PHP:
mysqlSET PASSWORD FOR 'usuario'@'host' PASSWORD('contraseña'); 
Esto es equivalente al siguiente comando:
Código PHP:
mysqlUPDATE mysql.user SET Password=PASSWORD('contraseña')
    -> 
WHERE User='usuario' AND Host='host';
mysqlFLUSH PRIVILEGES
espero te sirva, saludos, cya
__________________
"El Conocimiento es de todos, no solo de algunos"