Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Question Problemas conexion MyDAC

Tengo un formulario en delphi, utilizo los componentes MyDAC, al momento de colocar un Myconnection y hacer la conexion con mi PC que sirve de alojamiento a mi Base de Datos de MySQL aparece el siguiente mensaje:

Host 'maquina' is not allowed to connect to this MySQL server


¿alguien me podria decir que significa?

Que opcion debo colocar en mi maquina servidora para que cuando ponga mi MyConnection, esta lo haga bien.
Tengo una opcion llamada PORT:3306, voy a checar haber si es esto lo que estoy haciendo mal.

atte. Karla

Última edición por karlaoax fecha: 15-08-2007 a las 20:47:41.
Responder Con Cita
  #2  
Antiguo 15-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Tienes que darle permisos al usuario para conectarse desde esa máquina o desde cuelaquier lugar. Eso se hace con el comando GRANT desde la consola, aunque yo mejor uso el phpMyAdmin que te facilita la administración de privilegios.

// Saludos
Responder Con Cita
  #3  
Antiguo 15-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Cita:
Empezado por roman Ver Mensaje
Tienes que darle permisos al usuario para conectarse desde esa máquina o desde cuelaquier lugar. Eso se hace con el comando GRANT desde la consola, aunque yo mejor uso el phpMyAdmin que te facilita la administración de privilegios.// Saludos
Me estoy conectando como ROOT, y segun entiendo este tiene todos los privilegios

GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

Última edición por karlaoax fecha: 15-08-2007 a las 21:05:27.
Responder Con Cita
  #4  
Antiguo 15-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por karlaoax
Me estoy conectando como ROOT, y segun entiendo este tiene todos los privilegios
En realidad root no es sino un usuario cualquiera con un nombrecito curioso. Me refiero a que puedes darle privilegios a cualquier usuario y quitarlos también, así se llame root, dios o juandelaspestañas.

Cita:
Empezado por karlaoax
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;
Aquí estás dando todos los privilegios a root, sobre todas las bases de datos, pero, sólo para cuando se conecta desde localhost, esto es, la máquina donde está el servidor de MySQL. Para que pueda conectarse desde otras máquinas tendrías que hacer algo como

Código:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'
aunque no estoy seguro de la sintaxis; la verdad es que nunca me he aprendido el comando GRANT.

// Saludos
Responder Con Cita
  #5  
Antiguo 15-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Gracias Roman toda la tarde voy a ponerme a leer acerca de este GRANT, y mañana creare un usuario, puesto en lo que he leido, ROOT es como un super usuario; Tambien ya cheque que hay una herramienta en la Pagina de mysql que te permite crear usuarios, permisos, etc.
Responder Con Cita
  #6  
Antiguo 16-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por karlaoax Ver Mensaje
toda la tarde voy a ponerme a leer
En tal caso, te recomiendo que leas el capítulo 5 del manual. Incluso quizá te convenga comenzar con los apartados 5.7.5 y 5.7.6 que describen en términos generales las verificaciones que el servidor lleva a cabo cuando alguien intenta conectarse y acceder a algún recurso.

pd: Los enlaces son al manual de la versión 4.x, pero de ahí mismo puedes pasar a la versión 5 si es el caso.

// Saludos
Responder Con Cita
  #7  
Antiguo 16-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Client doesn't support authentication protocol

Ya lei lo suficiente para conectarme desde Delphi 7 a MySQL:
Ejemplo:
En mi PC servidora 192.168.1.196 en Mysql ya añadi un nuevo usuario con todos los privilegios sobre una tabla

Ahora donde esta mi cliente 192.168.1.198 con el componente MyConnection, ingreso los datos:
User: Karla
Password:***
Server: 192.168.1.196 // Donde este mi PC servidor
Database: ERROR
Port:3306
Activada la opcion: DIRECT

El error que me marca en Database es el siguiente:
“Client does not support authentication protocol”.

y leyendo mas en la pagina de MySQL encontre:
MySQL 4.1 and up uses an authentication protocol based on a password hashing algorithm that is incompatible with that used by older clients. If you upgrade the server from 4.0, attempts to connect to it with an older client may fail with the following message:
shell> mysql

Segun esto no es soportado por mi Version que es la 4.1.

Tendre que instalar la nueva version que viene en la pagina oficial, o es un error que estoy cometiendo en mi MyConnection
Responder Con Cita
  #8  
Antiguo 16-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Qué versión de MyDac tienes? No debería haber problema hasta donde sé, a menos- quizá -que tengas une versión antigua de las componentes. En todo caso podrías contactar a crlab o en sus foros. Otra cosa que puedes hacer, es forzar al servidor de MySQL a usar el formato antiguo de contraseñas:


consola:
Código:
use mysql;
update user set password = old_password('tu_password')
where user='Karla';
old_password es una función integrada en MySQL para eso.

// Saludos
Responder Con Cita
  #9  
Antiguo 16-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
checando la version es: Core Lab MyDAC 3.10 for Delphi 7

Y de mi SQL la mysql-4.1.22-win32

10.45 MTY:
Acabo de postear en la pagina de CoreLab forums, haber que me dicen acerca del error.

Última edición por karlaoax fecha: 16-08-2007 a las 17:12:35.
Responder Con Cita
  #10  
Antiguo 16-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo acabo de probar con MyDac 5.0 contra un servidor MySQL 4.1.7 y no he tenido problemas.

Buscando en los foros de crlab encuentro este hilo en donde se dice explícitamente que tu versión de MyDac no soporta el nuevo formato de contraseñas.

Ojo: no es un problema que vayas a resolver bajando una versión más nueva de MySQL. Como te dije antes, o adquieres la nueva versión de MyDac o usas contraseñas con el formato antiguo.

// Saludos
Responder Con Cita
  #11  
Antiguo 16-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Me temo que tendre que adquirir la nueva version, aunque esta que tengo la compre en internet en la pagina de Crlab, y sin saber adquiri una version antigua

Es cierto la version MySQL no tiene nada que ver, por que ya hice pruebas con la herramienta llamada MySQL GUI Tools 5.0 de la pagina oficial de MySQL y si hago conexion sin problemas a mi PC servidora con usuarios que he creado.

Ni modo, en la noche adquirire la herramienta y hare las pruebas para ver si ya quedan mis conexiones.
aunque tambien esta ZEOS pero MyDAC esta padre paar utilizar

Gracias Roman por la atencion prestada, y los links que me enviaste me sirvieron de mucho, aunque hay varias cosas un poco dificiles de entender, poco a poco, las entiendo.

Karla

Última edición por karlaoax fecha: 16-08-2007 a las 18:49:51.
Responder Con Cita
  #12  
Antiguo 16-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Yo compraría la nueva versión, más que nada porque tiene más componentes y no es muy cara. Pero te recuerdo que puedes solucionar ese problema sin necesidad de desprenderte de un solo peso, usando las contraseñas de formato antiguo

// Saludos
Responder Con Cita
  #13  
Antiguo 16-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Hay varias licencias, cual es la mas recomendable, para hacer un buen Cliente/Servidor, ademas en proximas semanas pienso agregarle imágenes de mis pacientes. Una sugerencia para no cometer errores:
http://www.crlab.com/mydac/ordering.html
icenses Single Team Site

Standard Edition
Cost-effective MySQL connectivity

Professional Edition
Full power of MyDAC data access

Developer Edition
All-inclusive MySQL development package

Professional Edition with Source Code
MyDAC Professional Edition + Source Access*

Developer Edition with Source Code
MyDAC Developer Edition + Source Access*


Cita:
Empezado por roman Ver Mensaje
puedes solucionar ese problema sin necesidad de desprenderte de un solo peso, usando las contraseñas de formato antiguo
// Saludos
Ya hice ese procedimiento en la consola de MySQL y me dio este mensaje:
Query OK, 1 Row Affected
Rows matched:1 changed:1 warnings:0

abri mi delphi 7, trate de hacer una conexion, pero me sale el mismo error:
“Client does not support authentication protocol”.

Por lo que supongo que mi version MyDAC no tiene activada la opcion del cifrado de contraseñas.
Responder Con Cita
  #14  
Antiguo 16-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Ahí mismo, en el sitio de crlab, puedes ver la tabla comparativa. Yo tengo la versión profesional y hasta ahora me ha bastado. Creo que la única diferencia con la versión Developer son las Developer Tools. No las he visto con detenimiento pero parecen ser complementos al IDE que te permiten administrar tus bases. Creo recordar que en su momento no les presté mayor atención porque ya tenía yo el Developer Studio que no termina de convencerme.

Pero incluso la versión estandar podría ser suficiente.

En cuanto a esto:

Cita:
Empezado por karlaoax
pero me sale el mismo error:
“Client does not support authentication protocol”.

Por lo que supongo que mi version MyDAC no tiene activada la opcion del cifrado de contraseñas.
seguramente se debe a que no has reiniciado el servidor de MySQL, o en su defecto, corre el comando:

Código:
flush privileges;
para que se vuelvan a cargar los usuarios y privilegios. Mientras no hagas una de estas dos cosas, el servidor no se da por enterado de que cambiaste una contraseña.

// Saludos
Responder Con Cita
  #15  
Antiguo 16-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Voy a checar ese comando Flush para ver si queda

Vaya que Flush suena extraño en nuestro querido español
Responder Con Cita
  #16  
Antiguo 16-08-2007
Avatar de karlaoax
karlaoax karlaoax is offline
Miembro
 
Registrado: oct 2003
Ubicación: Monterrey
Posts: 280
Poder: 21
karlaoax Va por buen camino
Código:
flush privileges;
Efectivamente Roman ya pude conectar mi componene Antiguo con ese Flush que mencionaste Genial.

Ahora una ultima pregunta, cada vez que inico mi PC servidor, tendre que entrar a la consola de MySQL para ejecutar los comandos?

O ya quedaron establecidos por default en el servidor MySQL.
Responder Con Cita
  #17  
Antiguo 16-08-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por karlaoax Ver Mensaje
O ya quedaron establecidos por default en el servidor MySQL.
Así es. Básicamente lo que sucede es que cuando se levanta, el servidor lee la tabla de privilegios y la almacena en memoria para rápido acceso, de manera que los cambios que se hacen al respecto, no tienen efecto sino hasta que se vuelven a leer los derechos, lo cual ocurre, o al reiniciar el servidor o con ese comando. Así pues, no es necesario correr el comando cada vez que inicias.

// Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con la conexión morilla MySQL 4 13-12-2006 06:32:38
Problemas de conexión tagotan Firebird e Interbase 2 11-08-2005 10:06:38
Problemas conexion bd tiagor64 Conexión con bases de datos 3 20-01-2005 18:35:46
Problemas con la conexion con MS-SQL ramonibk Varios 3 04-01-2005 12:24:37
componentes MyDAC de conexion docarrillo Conexión con bases de datos 3 07-07-2003 12:41:59


La franja horaria es GMT +2. Ahora son las 10:02:50.


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
Copyright 1996-2007 Club Delphi