Conexión Fuente MySQL

Relational databases|14 min de lectura|Actualizado: 18 sept 2026

Requisitos Previos

Antes de configurar la conexión de origen MySQL en Crestone, asegúrese de contar con lo siguiente:

Requisito Principal: Una instancia activa y accesible de MySQL, versión 5.7 o superior, con un usuario que posea privilegios de lectura en la base de datos de destino. Las siguientes versiones son totalmente compatibles:

VersiónCompatibilidad
MySQL 5.7Compatible
MySQL 8.0Compatible (recomendado)
MySQL 8.4 LTSCompatible (recomendado)
MySQL 9.x InnovationCompatible
MariaDBNo compatible
Amazon Aurora MySQLCompatible (compatible con 5.7 y 8.0)
Google Cloud SQL for MySQLCompatible (5.7 y 8.0)
Azure Database for MySQLCompatible (5.7 y 8.0 Flexible Server)

Nota: Crestone utiliza mysql-connector-python en modo pure-Python. No se requieren bibliotecas cliente adicionales ni controladores nativos en el servidor donde se ejecuta Crestone.

Información Requerida:

CampoDescripción
Server / HostDirección IP o nombre de host del servidor MySQL (ej. 192.168.1.100 o db.example.com)
PortPuerto TCP donde escucha MySQL. El valor predeterminado es 3306.
DatabaseNombre de la base de datos MySQL a la que conectarse (ej. my_database)
UsernameUsuario con privilegios de lectura sobre las tablas que desea extraer
PasswordContraseña del usuario especificado

Consejo: Si se está conectando a una instancia local de MySQL para pruebas, utilice los siguientes valores:

  • Server: localhost
  • Port: 3306
  • Database: crestone_test
  • Username / Password: crestone / crestone123

Paso de Pre-Verificación

Antes de configurar la conexión en Crestone, recomendamos verificar sus credenciales utilizando cualquier cliente MySQL de su preferencia (ej. DBeaver, MySQL Workbench, TablePlus o la CLI mysql). Esto garantiza que las credenciales sean correctas y que el servidor sea accesible antes de proceder con la configuración.

Consejo para DBeaver: Si recibe el error Public Key Retrieval is not allowed al conectarse con DBeaver a MySQL 8.x, vaya a Driver properties y establezca allowPublicKeyRetrieval en true y useSSL en false. Esta es una restricción del controlador JDBC y no afecta la conexión de Crestone.


Pasos de Configuración

Siga estos pasos para crear una nueva conexión de origen MySQL en Crestone:

  1. Navegue a Connections en la barra de navegación superior.

  2. Seleccione la pestaña Source.

  3. Haga clic en el botón + para crear una nueva conexión.

  4. Complete el campo Connection Name con un nombre descriptivo (ej. Mi Fuente MySQL).

  5. En el menú desplegable Source Type, seleccione MySQL.

  6. Complete el formulario de credenciales con los campos requeridos:

    • Server — host o dirección IP de su instancia MySQL
    • Port — predeterminado 3306
    • Database — nombre de la base de datos MySQL a la que conectarse
    • Username — usuario de la base de datos
    • Password — contraseña del usuario
  7. Haga clic en Test Connection para validar que Crestone pueda comunicarse exitosamente con la base de datos.

  8. Una vez superada la prueba, haga clic en Create Source para guardar la conexión.


Edición de una Conexión Existente

Para actualizar las credenciales de una conexión de origen MySQL existente:

  1. Navegue a Connections y localice su origen MySQL.
  2. Haga clic en Edit.
  3. Modifique los campos deseados en el formulario de credenciales.
  4. Haga clic en Test Connection para verificar las nuevas credenciales.
  5. Haga clic en Confirm para guardar los cambios.

Uso de MySQL como Fuente en un Nodo de Extracción

Una vez creada la conexión, puede utilizarla como origen de un Extraction Node. Hay dos modos de extracción disponibles:

Modo Visual

Configure la extracción sin necesidad de escribir código SQL:

  1. Abra o cree un Extraction Node y vaya a la pestaña Source.
  2. En Select Source, elija su conexión MySQL.
  3. En Select Schema, elija la base de datos/esquema que contiene los datos.
  4. En Select Table, elija la tabla a extraer.
  5. En Select Fields, seleccione las columnas específicas que desea, o déjelo vacío para extraer todas las columnas.
  6. Opcionalmente, agregue una condición WHERE para filtrar filas.
  7. El panel de Preview muestra una muestra de los datos que se extraerán.

Modo SQL Script

Escriba una consulta SQL personalizada para extracciones más complejas:

  1. Seleccione la fuente y el esquema como en el Modo Visual.
  2. Cambie al modo SQL Script.
  3. Escriba su consulta SQL. Utilice sintaxis estándar de MySQL — information_schema se encuentra disponible para consultas de metadatos.
  4. Haga clic en Run Preview para validar y previsualizar los resultados de la consulta.

Nota: El modo SQL Script admite cualquier sentencia SELECT válida de MySQL, incluyendo JOIN, subconsultas, funciones y GROUP BY. Evite sentencias DDL (CREATE, DROP, ALTER) en este campo.


Manejo de Tipos de Datos

Cuando Crestone lee datos de MySQL, los tipos de columna se asignan a tipos Polars (internos) para su procesamiento y luego se asignan a los tipos nativos del destino. La correspondencia de MySQL a Polars es:

Tipo MySQLTipo Polars
TINYINT, SMALLINTInt16
INT, MEDIUMINTInt32
BIGINTInt64
FLOATFloat32
DOUBLE, DECIMAL, NUMERICFloat64
TINYINT(1)Boolean
VARCHAR, CHAR, TEXT, ENUM, SETString
DATEDate
DATETIME, TIMESTAMPDatetime
TIMEString (formateado como HH:MM:SS)
JSONString (serializado como texto)
BLOB, BINARY, VARBINARYString (codificado en hex)
OtroString

Nota: Las columnas DECIMAL y NUMERIC se asignan a Float64. Si necesita preservar la precisión decimal exacta en el destino, redacte un SQL Script personalizado convirtiendo la columna a CHAR o manejándola como cadena de texto en la extracción.


Problemas Frecuentes

ProblemaCausa PosibleSolución
Tiempo de espera de conexión agotadoFirewall bloqueando el puerto 3306Permita conexiones entrantes en el puerto 3306 desde la IP del servidor de Crestone
Fallo de autenticaciónNombre de usuario o contraseña incorrectosVerifique primero las credenciales en su cliente MySQL
No se listan esquemasEl usuario carece del privilegio SELECT en information_schemaOtorgue SELECT sobre information_schema o como mínimo sobre la base de datos objetivo
No se listan tablasEl usuario no tiene acceso a la base de datos seleccionadaOtorgue SELECT sobre la base de datos de destino (consulte Permisos Requeridos a continuación)
Public Key Retrieval is not allowedModo de autenticación de MySQL 8.x (solo clientes JDBC)Esto no afecta a Crestone. En DBeaver, configure allowPublicKeyRetrieval=true en las propiedades del controlador
La vista previa no muestra datosLa tabla está vacía o la condición WHERE filtra todas las filasVerifique que existan datos en la tabla utilizando un cliente MySQL
Error caching_sha2_passwordPlugin de autenticación predeterminado de MySQL 8.x en algunos conectoresEl conector de Crestone maneja esto de forma nativa; verifique el plugin de autenticación del usuario si el problema persiste

Permisos Requeridos

Para acceso de solo lectura (extracción de origen), el usuario de base de datos requiere como mínimo los siguientes privilegios:

sql
-- Otorgar acceso de lectura a una base de datos específica
GRANT SELECT ON my_database.* TO 'crestone'@'%';

FLUSH PRIVILEGES;

Si desea que el usuario acceda a múltiples bases de datos o que Crestone liste todos los esquemas disponibles:

sql
-- Otorgar acceso de lectura a múltiples bases de datos
GRANT SELECT ON my_database.* TO 'crestone'@'%';
GRANT SELECT ON another_database.* TO 'crestone'@'%';

FLUSH PRIVILEGES;

Nota: MySQL otorga automáticamente SELECT en information_schema a cualquier usuario, por lo que Crestone siempre puede listar los esquemas y tablas a los que el usuario tiene acceso. No se requiere ninguna concesión adicional para el descubrimiento de metadatos.

Consejo: Para un usuario de integración de solo lectura, GRANT SELECT ON *.* TO 'crestone'@'%' otorga acceso de lectura a todas las bases de datos a la vez, lo que simplifica la administración al extraer de múltiples esquemas.

sql
-- Concesión de solo lectura en todas las bases de datos (recomendado para usuarios de integración):
GRANT SELECT ON *.* TO 'crestone'@'%';
FLUSH PRIVILEGES;