Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Configurar MySQL en Red (https://www.clubdelphi.com/foros/showthread.php?t=59570)

golf2008 01-09-2008 12:44:21

Configurar MySQL en Red
 
Hola a todos, tengo un sistema que trabaja con mysql y zeos con delphi 5.
Todo bien, pero a la hora de hacerlo funionar en red no me puedo conectar al servidor. Como host pongo la ip del servidor.
Pregunto a parte de desactivar el firewall y proxy que otra cosa hay que tener encuenta. Como entra en juego el comdín % en el host.
Desde ya muchas gracias

tcp_ip_es 01-09-2008 15:25:42

Tienes que ver porque puerto está escuchando el servidor normalmente el 3306 (por defecto) y ver si tienes acceso a el.

A parte tienes que asegurarte que tienes que tener creado en el servidor un usuario con permisos para acceder a la BD y a las tablas; normalmente Nombre@% donde :
- Nombre : es el nombre de usuario
- % : es el dominio desde el que esta accediendo en este caso se utiliza el comodín para determinar que puede acceder desde cualquier dominio.

golf2008 01-09-2008 15:55:10

Gracias Tony por tu respuesta pero me tira el siguiente error:

SQL Error: Unknown MySQL server host '%' (11001)
Además como haces para saber si el servidor está escuchando por el puerto 3306. Porque por defecto ya se instala en ese puerto.

Gracias

tcp_ip_es 01-09-2008 16:26:57

para saber si un puerto x esta abierto de un ordenador a otro, lanza un telnet a ese puerto.

respecto a lo segundo quizas te pueda servir este post....

http://www.clubdelphi.com/foros/showthread.php?t=58124&highlight=Unknown+MySQL+server+host+%25

No utilizo zeos para acceder a Mysql, no se como va la configuración del componente... (lo se lo se debería utilizar pero no lo utilizo :D )

pborges36 01-09-2008 22:06:34

Cita:

Empezado por golf2008 (Mensaje 310718)
...SQL Error: Unknown MySQL server host '%' (11001)...

Por el error me parece que no ingresaste bien el nombre del servidor. No creo que % sea el nombre o ip del servidor mysql. Otra cosita, que version de mysql usas?
Saludos.

golf2008 02-09-2008 12:07:33

Pborges36:
Uso el MySQL 4.1, zeos y delphi 5.
El tema es que trabajando en forma local, no tengo problemas. A la hora de ejecutar el sistema en red no me puedo conectar al servidor.
Ya probé poniendo como HostName la ip del servidor y me tira el Error MySQL 10060.
Despues usuario y contraseña lo defino aparte en el MySQL Administrator.

Saludos

vicvil 02-09-2008 15:24:38

Con respecto a este hilo, yo estoy usando el mysql embedded y tengo el mismo problema para conectarme en red. Me estoy conectando con el usuario root y este usuario solo esta configurado para conectarse con el host "Localhost" por lo que tendria que modificarselo al comodin "%" o bien crear otro usuario. Sé que esto se debe hacer en la tabla user de mysql, pero como yo estoy usando el mysql embedded no tengo instalado el servidor y por lo tanto esta tabla no existe. La pregunta es, como puedo modificar el usuario root o bien crear otro? A proposito, estoy usando zeos con delphi 5

vicvil 03-09-2008 13:52:12

¿Alguna idea de como hacer lo de crear usuarios en mysql embedded?

octavioallec 17-09-2008 03:01:18

Sugerencia
 
Hola, espero que lo siguiente te pueda despejar algunas dudas.

CONEXIÓN EN RED DE MYSQL.

1.-Al instalar MySQL, dirígite por la instalación personalizada, en ella encontraras ciertas opciones como:
- La cantidad de memoria que se desea "designar" a MySQL.
- El grupo de caracteres (LATIN1) por defecto.
- La cantidad de conexiones permitidas (15) por defecto.

ademas encontraras más configuraciones como...

+ Permitir la conexión por medio del protocolo TCP/IP y además crear reglas para el firewall y poder conectar en red.
+ Asignar una contraseña a la cuenta "root" y además si permitirá conectarse de forma remota (en red).

2.- Verifica que el servicio de MySQL este activo.

3.- Al hacer tu conexión remota en el HOSTNAME coloca la dirección IP de la PC en donde se encuentra tu base de dato.
Desde luego también debes poner el USERNAME y PASSWORD

Con esto debe ser suficiente para poder conectarte en red. Si por algún motivo no se logra el enlace, sugiero revisar el firewall del servidor (PC en donde esta instalado MySQL).

Anexo: Dentro de la base de datos "mysql" se encuentra una tabla con el nombre "user" en ella se almacenan los usuarios que permiten hacer las conexiones (desde luego root es indispensable); el primer campo de dicha tabla se nombra host, este campo es bastante descriptivo desde el nombre, con esto podemos darnos cuenta desde donde podemos conecatarnos (entre muchas otras cosas).

Ejemplo 1:

HOST USER PASSWORD
localhost root ********

esto nos indica que el usuario root solo tiene conexiones desde localhost, es decir, la misma PC.

Ejemplo 2:

HOST USER PASSWORD
% root ********

esto nos indica que el usuario root puede conectarse desde cualquier host.

Bueno, espero que haya sido de utilidad. Saludos

Besto 18-09-2008 17:27:37

Hola,
yo tengo el mismo problema, si configuro como localhost funciona perfectamente, al poner la dirección IP me falla la conexión a la base de datos.

Sin embargo desde fuera con el Navicat entro bien con la dirección IP.

¿Alguna sugerencia?

pborges36 19-09-2008 14:13:58

A ver...para empezar por experiencias me decidi a no usar MysqlAdministrator con mysql 4, sobre todo los permisos de usuarios. Prueben los siguiente para comprobar que les sucede lo mismo que a mi:
en el MysqlAdministrator creen un usuario, denle los permisos correspondiente. Luego con algun front vayan a la db mysql, tabla user y vean que el usuario que acaban de crear tiene todos los permisos denegados.

Por mi parte, para acceder a la db desde la red agregas el usuario con la siguiente instruccion sql:

Código SQL [-]
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'%' IDENTIFIED BY 'contraseña' WITH GRANT OPTION

Ademas, aun para acceder localmente, configuro la conexion con el nombre de la pc, nunca como localhost, de esta manera la conexion sera la misma en todas las pc y no tendras que tener en cuenta en cual pc estas configurando la conexion.

Espero les sirva. Saludos.

Besto 22-09-2008 10:05:48

He comprobado lo que has dicho y el usuario tiene bien todos los permisos.

Es en el propio equipo donde desde una aplicación Delphi no me deja entrar si en el servidor pongo la IP local del equipo. Si cambio la dirección IP por localhost funciona bien.


La franja horaria es GMT +2. Ahora son las 16:42:44.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi