Page 1 of 2

Duda iniciacion a MySql

Posted: Mon Mar 14, 2011 9:35 pm
by jfafive
Hola de nuevo amigos!

He instalado MySql en mi servidor y va de maravilla. Ya utilizo las tablas con mi aplicación en Harbour.
El problema viene cuando arranco la aplicación en red, desde otro equipo.

El error me indica que desde un equipo ajeno al servidor, la aplicación no puede abrir las bases de datos (parece que no las encuentra).Hasta donde yo sé, no tuve problemas con SQL Server.

Ahora con MySql, he hecho lo siguiente, instalar:
MySql ODBC Driver
MySql Server
MySqlInstance Configuration
MySql workBench

En el servidor.

Y luego, en el equipo de red, instalé

MySql ODBC Driver
MySql Server
MySql workBench
Corrijanme si está bien instalar estos elementos.

Y cuando intenté instalar MySqlInstance Configuration, me genera un error tipo 2003 can't connect localhost.

Parece que por alguna razón, no encuentra o establece la conexión con el servidor. No sé si es que hay que indicarle algo mas estoy bastante desorientado. A aquellos que ya pasaron por esto, les imploro ayuda Urgenteee!

Gracias anticipadas y un saludo.
Javier.

Re: Duda iniciacion a MySql

Posted: Mon Mar 14, 2011 9:49 pm
by Daniel Garcia-Gil
Javier

si estas conectando el cliente (que no es el mismo servidor) al servidor indicando "localhost" no te funcionara, deberas indicarle la direccion IP del servidor

Re: Duda iniciacion a MySql

Posted: Mon Mar 14, 2011 10:33 pm
by Raymundo Islas M.
Javier,

Ademas de lo que indica Daniel, debes abrir el puerto en el servidor y por ultimo, el usuario que uses debe tener privilegios de acceso remoto y no solo local.


Saludos

Re: Duda iniciacion a MySql

Posted: Mon Mar 14, 2011 11:13 pm
by jfafive
Daniel Garcia-Gil wrote:Javier

si estas conectando el cliente (que no es el mismo servidor) al servidor indicando "localhost" no te funcionara, deberas indicarle la direccion IP del servidor
Daniel,

No se donde debo indicar la dirección IP.
Supongo que debo usar MySql Server Instance para hacer eso ¿?
En ese caso, donde debo configurar la instancia, ¿en el servidor o en el cliente?

Saludos,
Javier

Re: Duda iniciacion a MySql

Posted: Mon Mar 14, 2011 11:15 pm
by jfafive
Raymundo Islas M. wrote:Javier,

Ademas de lo que indica Daniel, debes abrir el puerto en el servidor y por ultimo, el usuario que uses debe tener privilegios de acceso remoto y no solo local.


Saludos
Raymundo,

Supongo que te refieres al puerto TCP/IP 3306, el cual he comprobado que si tengo abierto con una excepción
en mi firewall. ¿como puedo comprobar si un usuario tiene privilegios de acceso remoto?

Saludos,
Javier.

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 1:11 am
by Raymundo Islas M.
Javier,

Al momento de configurar la instacia en tu server te pregunta si deseas dar acceso remoto a tu user root, si no le activaste la opcion, entonces tendra solo acceso local.

En este momento, tendrias que agregar un usuario con ese privilegio :

grant all privileges on *.* to 'usuario'@'%' identified by 'password' with grant option ; ( presta atencion a las comillas )

Con esta instruccion creas un "super usuario" que tiene acceso a todas las BD de tu server y por supuesto, acceso tanto local como remoto, si deseas algo mas restrictivo, tendras que hacer combinaciones al comando.


Saludos

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 2:53 am
by wmormar
jfafive,

El MySqlInstance solo se ejecuta en el servidor y de hecho solo es cuando instalas, este proceso configura la parte final de la instalacion.
- Agrega el servicio al registro de windows
- Levanta el servicio
- Crea la tabla de usuarios con el super-usuario local y/o remoto
- Genera el archivo MY.INI de acuerdo a la configuración que hayas seleccionado en la instancia

Cuando no pasa el MySqlInstance.
- Cuando hay un antivirus y bloquea scripts
- Cuando tengas ya instancias (servicios) de mysql previamente
- Cuando hayas hecho una instalación y no la hayas terminado

En general son detalles. que tienes que tener en cuenta.

Espero aclare algo de dudas

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 8:18 am
by jfafive
wmormar wrote:jfafive,

El MySqlInstance solo se ejecuta en el servidor y de hecho solo es cuando instalas, este proceso configura la parte final de la instalacion.
- Agrega el servicio al registro de windows
- Levanta el servicio
- Crea la tabla de usuarios con el super-usuario local y/o remoto
- Genera el archivo MY.INI de acuerdo a la configuración que hayas seleccionado en la instancia

Cuando no pasa el MySqlInstance.
- Cuando hay un antivirus y bloquea scripts
- Cuando tengas ya instancias (servicios) de mysql previamente
- Cuando hayas hecho una instalación y no la hayas terminado

En general son detalles. que tienes que tener en cuenta.

Espero aclare algo de dudas
William,

Gracias por la aclaración.
Ok a lo que se instala en el servidor.

Pero entonces, que hace falta instalar en la maquina cliente ¿solo el MySql Driver?

Perdonen mi insistencia con las dudas, y mil gracias por su paciencia.

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 3:15 pm
by wmormar
jfafive,

Si usas los siguientes no es necesario instalar nada:
- Eagle1
- TDolphin
- TMySql

Si usas estos otros es necesario instalar si o si el cliente ODBC
- ADO
- Condor1

En el caso del conector es preferible que instales la vresion 3.5, pues es la mas estable. Si alguien tiene mejor informacion de la version 5.x que lo comente.

Si tu equipo cliente no se conecta como te lo han comentado, puede ser por varias razones:
- Super usuario no habilitado para ser remoto
- Puerto 3306 no habilitado en el firewall

Remoto se entiende como usuario que permite conexiones desde equipos en una red local o desde internet.

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 3:19 pm
by horacio
Yo uso la versión 5.1 del controlador y funciona perfectamente.

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 4:02 pm
by wmormar
horacio,

excelente
horacio wrote:Yo uso la versión 5.1 del controlador y funciona perfectamente.

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 5:21 pm
by jfafive
Yo uso ADO.

Gracias William por la información.
Ahora mismo lo tengo en servidor con todo instalado.

En MySQL Workbench tengo una conexión y una instancia tipo localhost.
Creo que por aqui debe andar la cosa para que se conecten desde el cliente.

¿tengo que crear un nueva conexión o instancia con la IP de mi servidor?

Saludos,
javier.

Re: Duda iniciacion a MySql

Posted: Tue Mar 15, 2011 6:56 pm
by jfafive
Novedades:

Bueno bueno!
Creo que ya me queda un poco menos.

Estoy monitoreando las conexiones en el server con el MySql WorkBench.
Cuando testeo una nueva conexión desde el cliente con la misma herramienta, veo que aparece
la nueva conexión en el monitoreo. Pero a los segundos, desaparece y me surge un mensaje
en el cliente que dice:

Can't get hostname.

Por lo que entiendo que la conexión TCP/IP se ha establecido, pues la reconoce.
Pero no puede coger un nombre de host.

Seguiré investigando, pero si hay alguien que le sucedió lo mismo y sobrevivió,
que me lo cuente.

;-)

Re: Duda iniciacion a MySql

Posted: Wed Mar 16, 2011 5:40 am
by wmormar
jfafive,

Te conectas desde el cliente al servidor por medio del nombre DNS o de la IP directamente.

Te recomiendo leas el blog del buen amigo Armando (soidito)

http://sqlcmd.blogspot.com

Ahí viene información con conexiones desde ADO y mucho más

Desde luego, seria conveniente coloques código de como te estas conectando.

Re: Duda iniciacion a MySql

Posted: Wed Mar 16, 2011 8:49 am
by jfafive
wmormar wrote:jfafive,

Te conectas desde el cliente al servidor por medio del nombre DNS o de la IP directamente.

Te recomiendo leas el blog del buen amigo Armando (soidito)

http://sqlcmd.blogspot.com

Ahí viene información con conexiones desde ADO y mucho más

Desde luego, seria conveniente coloques código de como te estas conectando.
William,

En las pruebas realizadas, no he utilizado programación.
Me he intentado conectar desde el cliente usando el MySqlWorkBench.

Respecto a la programación tengo una duda. Yo poersonalmente siempre he apoyado la idea de instalar la BD en el servidor
y un ejecutable en cada puesto de red, haciendo la llamada a la base de datos desde cada uno de ellos. Pero he visto que tambien hay otra forma de hacerlo que consiste en posicionr un ejecutable en el servidor e invocarlo desde cada uno de los puestos mediante un acceso directo en red.

Quisiera saber de vuestra opinión al respecto.

Saludos,
Javier.