Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

URGENTE POR FAVOR!! Problema con usuario distinto de localhost

Estas en el tema de URGENTE POR FAVOR!! Problema con usuario distinto de localhost en el foro de Mysql en Foros del Web. Tengo instalado Easyphp 2.0 que viene con phpmyadmin y apache, en windows XP. Creé un sitio dentro de mi computadora para poder usarlo dentro de ...
  #1 (permalink)  
Antiguo 12/08/2009, 12:32
 
Fecha de Ingreso: julio-2009
Mensajes: 26
Antigüedad: 14 años, 8 meses
Puntos: 0
URGENTE POR FAVOR!! Problema con usuario distinto de localhost

Tengo instalado Easyphp 2.0 que viene con phpmyadmin y apache, en windows XP.
Creé un sitio dentro de mi computadora para poder usarlo dentro de mi red interna.

Tengo configurado el archivo htttpd.conf de Apache para poder acceder desde cualquier computador de mi red hacia el servidor.
Lo que hice fue cambiar la linea que decia:
Listen 127.0.0.1:80
por
Listen 169.254.203.32:80 (esta es la IP del servidor)

El problema es que debo crear un usuario en la base de datos usando phpmyadmin que en lugar de llamarse de la forma usuario_arroba_localhost tenga otro nombre para poder acceder desde otro computador de la red .

Se me ocurre que debería llamarse usuario_arroba_IPdelServidor , o usuario_arroba_IPdemiRed, no se cual es el correcto.

Esto se debe a que phpmyadmin en la parte de privilegios, cuando das click para crear un nuevo usuario te da las siguientes opciones.

Nombre de usuario:
Servidor:
Contraseña:
Repetir contraseña:

Y por lo que vi el Usuario termina llamándose NombredeUsuario_arroba_Servidor.
En la casilla "Servidor:" hay un select que da las opciones de : localhost, archivo(host), any, y otro mas que no recuerdo.

Bueno, en fin, Las paginas del sitio desde cualquier computador de la red se despliegan correctamente si ejecuto desde mi navegador las url correspondientes y con la ip del servidor.
Pero al usar cualquiera de los .php que necesitan conexión con la base de datos, no puedo conectarme a la base de datos porque me aparece error : usuario 'IPdelServidor' no encontrado. Imposible acceder a la base de datos.

En el código del .php relevante simplemente hago lo siguiente:

Código PHP:

$username
=NombredeUsuario
$password
=1234
$database
=MyDatabase
$localhost
=IPdelServidor

 
function Conectar($username$password$database$localhost)
     {

        
$enlace mysql_connect($localhost$username$password) or die("No pudo conectarse a la BD.");

        
mysql_select_db($database) or die("No pudo seleccionarse la BD.");
     } 
Y de esta forma no puede conectarse a la base de datos.
Es error en las ip del archivo .php? es error en la configuración del usuario en la base de datos?

Gracias, por favor es urgente!!
  #2 (permalink)  
Antiguo 12/08/2009, 13:08
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: URGENTE POR FAVOR!! Problema con usuario distinto de localhost

El usuario debe ser creado con permisos para conectarse desde un host al server, lo que significa que tanto el crearlo como el GRANT deben llevar el formato username'@'host, donde host es en tu caso la IP desde donde se conecta.
El login no debería llevar el @host, ya que el sistema le está informando al server desde donde está entrando el pedido al momento de definirse la cadena de conexión. También es allí donde se configura el puerto de entrada.
Lo que si debes hacer es darle los permisos (SELECT, EXECUTE, etc), porque de lo contrario no podrá hacer nada.
Dale una leida a:
5.7. Gestión de la cuenta de usuario MySQL
13.5.1.3. Sintaxis de GRANT y REVOKE
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:09.