PDA

Ver la Versión Completa : Aplicacion + MySQL en LAN


Albano
11-01-2006, 20:35:07
Hola a todos... Tengo unos problemas
Estoy desarrollando una aplicacion en Delphi 2005, uso una base de datos de MySQL, y me conecto por BDE usando un alias. Esta aplicacion la quiero usar en 4 computadoras conectadas entre si (LAN), una de ellas la voy a usar como servidor, aqui ya tengo instalada mi aplicacion y tengo la base de datos y esta funcionando bien.
Uso el MySQL Administrator para crear y manejar las tablas de mi base de datos. Al accesar desde mi PC cliente al sistema principal de mi PC servidor, dentro de las bases de datos que tengo no me aparece la que estoy usando en mis aplicacion, cuando entro al MySQL Administrator desde mi servidor si se ve, todo bien, pero no desde mi PC cliente, por consiguiente no puedo crear el alias desde el BDE Administrator. Que neceesito hacer?

roman
11-01-2006, 20:38:54
Pues recuerda que en MySql debes asignar permisos para poder ver y trabajar con bases de datos y tablas así que posiblemente esa sea la causa de que no la veas desde el cliente. Los permisos se asignan con base en la ip del cliente y el usuario de MySql.

// Saludos

Albano
17-01-2006, 01:13:05
Hola de nuevo...
escribi el siguiente codigo en la linea de comandos de MySQL en mi servidor: grant all privileges on db.* to root@'192.168.1.5';
Me marca el siguiente error: Error 1133 (42000): Can't find any matching row in the user table
Soy nuevo usando MySQL, espero no dar muchos problemas y aprender pronto. Gracias.

roman
17-01-2006, 03:32:14
Donde dice db debes poner el nombre de la base de datos sobre la que quieres asignar permisos.

// Saludos

Albano
17-01-2006, 18:04:14
Gracias Roman, pero el problema sigue...
En el texto que escribi en mi mensaje anterior puse "db", pero en realidad en mi computadora habia puesto el nombre de la base de datos, solo que estaba mal escrito, la base de datos se llama h&r y yo estaba poniendo hyr, creo que el "&" en ese nombre me crea conflictos, al escribir la siguiente linea grant all privileges on h&r.* to root@'192.168.1.64';
me marca un nuevo error Error 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '&r.* to root@'192.168.1.64'' at line 1
Supongo que aqui me marca ese error por el caracter & que uso en mi base de datos, entonces cree otra base de datos llamada hyr y escribi el codigo que mencione en mi mensaje anterior y me sigue apareciendo el mismo error:
grant all privileges on hyr.* to root@'192.168.1.64';

Me marca el siguiente error:
Error 1133 (42000): Can't find any matching row in the user table

RyCk
20-01-2006, 08:51:08
Se va a ver muy de flojera lo que voy a escribir ya has pensado en poner phpmyadmin :P qon eso ya está tranquilito con un par de clicks y listo ;) así le hago yo :D:)

walito
21-01-2006, 01:47:45
Y se gun lo que lei asi a las apuradas, porque no usas el MySQL Administrator para crear usuario?? nunca lo use , calculo que debe tener o no?

Saludos

walter

Albano
23-01-2006, 23:54:46
PHPMyAdmin funciona en LAN? es una posible solucion?
Porque no me sale de la manera simple? tengo algun error?

roman
24-01-2006, 06:18:15
Albano, a todo esto, qué versión de MySql estás usando. He visto algunas referencias a ese error debidas a un bug.

// Saludos

Albano
03-02-2006, 22:56:12
Uso MySQL server V. 5.0.18

AzidRain
04-02-2006, 20:00:48
Pues yo creo que se estan complicando mucho... el mensaje claramente dice que el usuario al que le quieres dar accesos no está dado de alta en la tabla de usuarios. De manera que primero deberás dar de alta el usuario y luego asignarle los privilegios que quieras. Te recomiendo la aplicacion Navicat, el cual es un front-end para MySQL muy facil de utilizar y que te permite hacer lo que necesitas sin necesidad de teclear comandos...lo malo es que es de paga pero el Demo funciona 30 dias.

Tambien puedes usar el MySQL Admin que ya viene con la db, te permite dar de alta usuarios y todo aunque es mas sencillo.

No te recomiendo PHPMyAdmin, pues no tendrìa caso usarlo en un ambiente como el que mencionas (PHP Admin es mas para Web y cosas asi)

Por ùltimo, recuerda que a cada usuario que crees, le tienes que indicar de que host se va a conectar, de lo contrario MySQL asume que esta en localhost (la maquina servidor) y no da acceso. En el caso que mencionas, escribes como usuario root@xx.xx.xx.xx lo cual no es un usuario verdadero, por eso no lo encuentra MySQL. Para que un usuario pueda accesar a MySQL desde cualquier lugar (inclusive por Internet) deberàs poner en el campo hots del usuario el caracter "%", que es un comodin. Si deseas que un usuario solo se conecte desde una direcciòn IP siempre, pues escribes esa direcciòn en ese campo y asi ese usuario solo podrá acceder a la db desde esa dirección.

Yo por lo regular asigno el valor % al campo host del usuario root, y asi puedo administrar la db desde cualquier lugar.

AzidRain
04-02-2006, 20:06:08
Perdon, no te puse el comando:


UPDATE USERS SET HOST='%' WHERE USER='root'

Aplicarias el mismo comando para todos los usuarios que quieras que accesen desde otra PC distinta al servidor.

(PD: No me acuerdo si el campo es USER o USERNAME, ahi lo checas y lo ajustas..):D