Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   Linux, MySql, Windows (https://www.clubdelphi.com/foros/showthread.php?t=5171)

JorgeBec 11-11-2003 20:14:15

Linux, MySql, Windows
 
ok, este es mi problema, tengo un servidor Linux, el manejador de base de datos MySql y un cliente windows. Como acceder a mysql desde el cliente, tengo una herramienta que se llama MySqlfront la cual si instalaba localmente en windows mysql todo estaba bien, pero si trato de acceder al Mysql de linux, no puedo, podrian explicarme que debo hacer??? o por otro lado he intentado acceder a Mysql de Linux a través de MyOdbc pero tampoco puedo, cabe señalar que estoy haciendo mis pininos en Linux y desconozco el tema, se que en linux todo es via IP, Mysql de linux usa una IP???, en ese caso como saberla??? es la misma del servidor???, en fin espero que me aclaren mis dudas...gracias...

roman 11-11-2003 20:35:51

Cita:

JorgeBec comentó:
pero si trato de acceder al Mysql de linux, no puedo,
¿Qué quieres decir con "no puedo"?

¿Te marca algún error? ¿Cuál?

Por otro lado, ¿con qué usuario intentas conectarte a MySql? ¿Este usuario tiene derechos para acceder al servidor de MySql?

// Saludos

JorgeBec 11-11-2003 23:07:21

el mensaje desde el ODBC es
"Host 192.168.20.25 is not allowed to connect to this mysql"

cabe señalar que este host que se señala es mi IP, anteriormente instale de manera local bajo windows el Mysql, pero al momento no esta corriendo...y trato de conectarme con el usuario root...

roman 11-11-2003 23:39:20

Cita:

JorgeBec comentó:
el mensaje desde el ODBC es
"Host 192.168.20.25 is not allowed to connect to this mysql"

cabe señalar que este host que se señala es mi IP, anteriormente instale de manera local bajo windows el Mysql, pero al momento no esta corriendo...y trato de conectarme con el usuario root...

Pero cuando tenías MySql instalado en tu máquina tu IP funcionaba como"localhost" y me parece que por defecto MySql asigna a root todos los derechos cuando se conecta desde localhost (es decir, desde la misma máquina en donde esté el servidor MySql) pero no cuando se conecta desde otras direcciones.

Tienes que asignar derechos a root en el MySql de Linux para conectarse desde tu IP.

// Saludos

JorgeBec 11-11-2003 23:47:22

disculpa mi ignorancia y eso como se hace??? desconozco la administración de linux...no estoy en pañales pero tampoco soy un experto...gracias por tu respuestas...

roman 12-11-2003 02:36:51

Cita:

JorgeBec comentó:
desconozco la administración de linux...no estoy en pañales pero tampoco soy un experto...gracias por tu respuestas...
Yo también la desconozco pero no se trata de Linux sino de MySql. No son lo mismo los usuarios del sistema Linux que los del servidor MySql aunque éste esté instalado en aquél.

Te recomiendo que busques ayuda sobre el comando GRANT en el manual de mysql para saber cómo crear usuarios y asignarles derechos.

// Saludos

JorgeBec 12-11-2003 16:40:27

Agradezco de antemano tus respuestas...seguire tus recomendaciones...aunque no me suena que sea por el lado de mysql ya que cuando los instale localmente no tuve que mover nada de mysql, me refiero a nada de derechos...en fin seguire buscando...gracias...

roman 12-11-2003 16:53:54

Cita:

JorgeBec comentó:
Agradezco de antemano tus respuestas...seguire tus recomendaciones...aunque no me suena que sea por el lado de mysql ya que cuando los instale localmente no tuve que mover nada de mysql, me refiero a nada de derechos...en fin seguire buscando...gracias...
Creeme Es una cuestión de derechos de mysql. Velo tú mismo en el mensaje que recibes:

Cita:

Host 192.168.20.25 is not allowed to connect to this mysql
Vamos a entender una cosa: por defecto, la instalación de mysql crea al usuario root y le asigna derechos absolutos desde localhost. Localhost significa: "máquina donde está instalado el servidor mysql".

Cuando instalas mysql en tu pc, localhost corresponde a tu pc y por eso no tienes que mover nada en la administración de mysql para acceder a las tablas: tú eres root y estás en localhost.

Cuando instalas mysql en otra máquina, localhost es esa máquina y tu pc es foránea para ese servidor. Podrás conectarte como root pero el servidor mysql en linux sólo dió derechos a root para localhost (el servidor linux) y tu pc no es localhost.

Si entras al servidor Linux y corres el comando

prompt> mysql -uroot -ptu password

verás que ahí sí puedes acceder a las tablas ya que estás conectandote a mysql desde el mismo servidor Linux que es el localhost para ese servidor mysql.

// Saludos

JorgeBec 12-11-2003 19:00:01

Ya me esta cayendo el 20 roman tienes toda la razon, estoy leyendo el manual de Mysql y al parecer es el comando Grant, solo que me esta marcando errores, sigo viendo pero si no cabe duda que es por ese lado, gracias...

roman 12-11-2003 19:27:45

Cita:

JorgeBec comentó:
Ya me esta cayendo el 20
O eres de México o esta es una expresión sorprendentemente universal :D

Espero no confundirte con lo que ahora te voy a decir: ya que estás leyendo acerca del comando GRANT te recomiendo que de una vez leas las secciones 4.2.5 a 4.2.11 del manual de mysql que explican con detalle cómo funcionan los derechos en mysql.

La verdad es que el comando GRANT siempre me ha parecido una tanto obscuro y confuso y realmente no es difícil entender las tablas de derechos.

Un brevísimo resumen:

La tabla principal es la tabla 'users'. Si la combinación (usuario, host) no se encuentra en dicha tabla, se deniega acceso al servidor. Aquí se asignan derechos globales sobre todas las bases de datos pero se recomiendo inhabilitar aquí todos los derechos.

La tabla 'db' especifica qué usuarios, desde qué hosts y a qué bases pueden acceder. Los derechos aquí asignados son válidos para la base de datos que se especifique.

Si no se especifica el campo host de la tabla 'db' entonces los derechos se leen de la tabla 'host', esto es, si en 'db' hay un registro del tipo:

(host = '', db='tu base', user='fulano')

significa que fulano puede conectarse a la base 'tu base' pero sus derechos dependen del host desde el cual se conecte de manera que en la tabla 'host' puedes tener varias entradas para 'tu base' especificando, por ejemplo, que desde tal dirección puede editar y borrar registros pero desde otras sólo leer registros.

Las otras tablas, Tables_priv y Columns_priv te sirven para ser aún más específico en los derechos. Tables_priv restringe el acceso sólo a determinadas tablas de la base y Columns_priv sólo a ciertos campos de determinada tabla.

// Saludos y buena lectura!

roman 12-11-2003 19:33:33

Lo olvidaba:

El comando GRANT no es otra cosa que una "simplificación" de la manipulación de las tablas que te mencioné (que por cierto están en la base da datos de nombre 'mysql').

// Saludos

JorgeBec 14-11-2003 01:31:34

Gracias, a estas fechas ya pude hacer la conexión y en efecto era el comando grant......y en efecto soy orgullosamente mexicano, radico en la perla de occidente... de nuevo gracias, paisano...


La franja horaria es GMT +2. Ahora son las 16:24:40.

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