Guías

Guías del panel

Tutoriales paso a paso para configurar el workspace, invitar al equipo y permisos.

Panel de Claix

Cómo conectar mi MySQL a Claix

Claix se conecta a tu MySQL con un usuario dedicado (claix_agent), prueba la conexión desde el panel y guarda las credenciales de forma segura. Con esa conexión puedes usar Claix Retrieve: Data Map, rutas y agentes de solo lectura.

MySQL en Claix es solo Retrieve. Claix Ingest sigue siendo PostgreSQL. Esta guía cubre requisitos, el SQL del usuario, los GRANT SELECT, el formulario del panel y qué hacer después de conectar. No hace falta tocar la API pública.

1. Antes de empezar

Necesitas:

  • Una cuenta Claix con acceso al panel (/dashboard).
  • Un servidor MySQL 8.0 o superior accesible por internet con TLS (RDS, PlanetScale, DigitalOcean, TiDB, un VPS con hostname público, etc.). Si el servidor es MariaDB, usa la guía de MariaDB: Claix rechaza un servidor que no coincide con el motor elegido.
  • Permisos de administrador para crear el usuario claix_agent y los GRANT.
  • El hostname DNS (nunca una IP), el nombre de la base y una contraseña fuerte para el usuario.

En el panel, la pantalla está en Conexión a Base de Datos (/dashboard/database-connection).

2. Principios de seguridad

  • Nunca uses root ni el usuario administrador en Claix.
  • Claix solo acepta el usuario claix_agent.
  • El usuario se crea con REQUIRE SSL. Sin TLS, Claix no conecta.
  • Solo SELECT, tabla a tabla. No des INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, GRANT OPTION, roles ni privilegios globales (ON *.*).
  • No concedas nada sobre mysql, sys, performance_schema ni information_schema.
  • El host debe ser un nombre DNS público. Localhost, IPs y redes privadas están bloqueadas.
  • La contraseña se prueba al conectar y se guarda en Vault: no permanece en el navegador ni en tablas públicas del panel.

3. Crear el usuario claix_agent

En el editor SQL de tu proveedor (RDS, MySQL Workbench, el CLI mysql, etc.), ejecuta el script. Cambia tu-contraseña-fuerte.

CREATE USER 'claix_agent'@'%' IDENTIFIED BY 'tu-contraseña-fuerte' REQUIRE SSL;

El host % deja entrar desde internet. Si tu proveedor exige otro host, créalo con ese valor, pero el nombre de usuario tiene que ser exactamente claix_agent. Este usuario no lleva privilegios globales: los GRANT van tabla a tabla.

4. SELECT tabla a tabla

Claix nombra las tablas como base.tabla. Sustituye tu_base y tu_tabla por los nombres reales. El nombre de la base solo puede llevar letras, números y _.

GRANT SELECT ON `tu_base`.`tu_tabla` TO 'claix_agent'@'%';

Repite la línea por cada tabla que Retrieve deba consultar. En el panel, después de conectar, marcas las tablas y Claix genera este SQL por ti: lo copias y lo ejecutas en tu base.

MySQL no usa políticas RLS. El límite es el GRANT: sin él, Claix conecta pero no ve esa tabla.

5. Red, puerto y TLS

CampoQué poner
HostHostname DNS público (ej. el endpoint de RDS). No uses IP ni localhost.
Puerto3306, 3307, 3308, 4000 (TiDB) o 25060 (DigitalOcean)
Base de datosNombre exacto de la base. Solo letras, números y _.
UsuarioSiempre claix_agent (el campo está fijo)
ContraseñaLa del usuario que creaste, no la del administrador
SSLrequire (recomendado: cifra y acepta CAs públicas y las de Amazon RDS) o verify-full (pega tu CA en PEM si el certificado es privado)

Abre el firewall o el security group para que el puerto acepte TLS desde internet. Un certificado autofirmado no pasa con require: usa verify-full y pega la CA.

6. Conectar desde el panel (paso a paso)

  1. Entra en /dashboard e inicia sesión.
  2. En la barra lateral abre Conexión a Base de Datos.
  3. Elige el motor MySQL (solo Retrieve).
  4. Copia el SQL de crear claix_agent, cambia la contraseña y ejecútalo en tu MySQL.
  5. Completa nombre de la conexión, host, puerto, base de datos y la contraseña de claix_agent. El usuario no se puede cambiar.
  6. Elige SSL. Con verify-full, pega el certificado CA completo (líneas BEGIN CERTIFICATE / END CERTIFICATE).
  7. Pulsa Probar y guardar. Claix comprueba que el servidor es MySQL, lee SHOW GRANTS y guarda la contraseña en Vault.
  8. Con la conexión activa, marca las tablas y ejecuta el GRANT SELECT que genera el panel. Luego pulsa Recargar schema.

Si falla, el mensaje del panel indica host inalcanzable, SSL, usuario distinto de claix_agent, versión anterior a 8.0, un servidor MariaDB o un privilegio de más (escritura, global o GRANT OPTION).

7. Después de conectar

Con la base enlazada puedes:

  • Retrieve: crear el Data Map, rutas y agentes en el menú Retrieve, y probarlos en el Sandbox. Cada consulta va en una transacción de solo lectura con límite de tiempo.
  • Revisar tablas visibles: si la lista está vacía, ejecuta el GRANT SELECT y recarga el schema.

Ingest no usa esta conexión. Para escribir filas, conecta un PostgreSQL. Para desconectar, usa la opción de la misma página (pide escribir disconnect). Los agentes que dependan de esta conexión dejarán de poder consultarla hasta que vuelvas a conectar.

8. Checklist rápido

  1. MySQL 8.0 o superior, con TLS, y usuario claix_agent creado con REQUIRE SSL.
  2. Sin privilegios globales, de escritura, de sistema ni GRANT OPTION.
  3. GRANT SELECT en cada tabla que Retrieve deba leer.
  4. Host DNS público, puerto permitido, SSL activo.
  5. Formulario del panel con motor MySQL y la contraseña de claix_agent.
  6. «Probar y guardar» en verde y schema recargado.

9. Preguntas frecuentes

¿Puedo usar Amazon RDS? Sí. Usa el endpoint (el hostname, no la IP), el puerto 3306, la base que creaste y SSL require. El security group tiene que aceptar el puerto desde internet.

¿Por qué no veo tablas? Falta el GRANT SELECT sobre esas tablas, o no has pulsado Recargar schema después de concederlo.

¿La contraseña se guarda en el navegador? No. Solo se envía al probar la conexión y se almacena en Vault en el backend.

¿Puedo conectar varias bases a la vez? El panel muestra la conexión activa del workspace. Desconecta antes de apuntar a otra instancia. Ingest solo carga la conexión PostgreSQL.

El panel dice que el servidor es MariaDB. Elige el motor MariaDB y vuelve a probar. Claix no trata un MariaDB como MySQL.

¿Retrieve necesita INSERT? No. Solo SELECT. Ingest, que sí escribe, es PostgreSQL.