Panel de Claix
Cómo conectar mi MariaDB a Claix
Claix se conecta a tu MariaDB 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.
MariaDB en Claix es solo Retrieve. Claix Ingest sigue siendo PostgreSQL. El protocolo es el de MySQL, pero Claix comprueba que el servidor es MariaDB. 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 MariaDB 10.6 o superior accesible por internet con TLS (RDS for MariaDB, SkySQL, un VPS con hostname público, etc.). Si el servidor es MySQL, usa la guía de MySQL: Claix rechaza un servidor que no coincide con el motor elegido.
- Permisos de administrador para crear el usuario
claix_agenty losGRANT. - 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 desINSERT,UPDATE,DELETE,CREATE,DROP,ALTER,GRANT OPTION, roles ni privilegios globales (ON *.*). - No concedas nada sobre
mysql,sys,performance_schemaniinformation_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, SkySQL, el CLI mariadb, 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.
MariaDB no usa políticas RLS. El límite es el GRANT: sin él, Claix conecta pero no ve esa tabla. En las consultas JSON usa JSON_UNQUOTE(JSON_EXTRACT(col, '$.campo')): MariaDB no tiene los operadores -> ni ->>.
5. Red, puerto y TLS
| Campo | Qué poner |
|---|---|
| Host | Hostname DNS público (ej. el endpoint de RDS for MariaDB). No uses IP ni localhost. |
| Puerto | 3306, 3307, 3308, 4000 o 25060 |
| Base de datos | Nombre exacto de la base. Solo letras, números y _. |
| Usuario | Siempre claix_agent (el campo está fijo) |
| Contraseña | La del usuario que creaste, no la del administrador |
| SSL | require (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. El servidor tiene que tener TLS activo.
6. Conectar desde el panel (paso a paso)
- Entra en /dashboard e inicia sesión.
- En la barra lateral abre Conexión a Base de Datos.
- Elige el motor MariaDB (solo Retrieve).
- Copia el SQL de crear
claix_agent, cambia la contraseña y ejecútalo en tu MariaDB. - Completa nombre de la conexión, host, puerto, base de datos y la contraseña de
claix_agent. El usuario no se puede cambiar. - Elige SSL. Con verify-full, pega el certificado CA completo (líneas
BEGIN CERTIFICATE/END CERTIFICATE). - Pulsa Probar y guardar. Claix comprueba que el servidor es MariaDB 10.6 o superior, lee
SHOW GRANTSy guarda la contraseña en Vault. - Con la conexión activa, marca las tablas y ejecuta el
GRANT SELECTque 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 10.6, un servidor MySQL 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, en dialecto MariaDB.
- Revisar tablas visibles: si la lista está vacía, ejecuta el
GRANT SELECTy 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
- MariaDB 10.6 o superior, con TLS, y usuario
claix_agentcreado conREQUIRE SSL. - Sin privilegios globales, de escritura, de sistema ni
GRANT OPTION. GRANT SELECTen cada tabla que Retrieve deba leer.- Host DNS público, puerto permitido, SSL activo.
- Formulario del panel con motor MariaDB y la contraseña de
claix_agent. - «Probar y guardar» en verde y schema recargado.
9. Preguntas frecuentes
¿Puedo usar Amazon RDS for MariaDB o SkySQL? Sí. Usa el endpoint (el hostname, no la IP), el puerto, 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 MySQL. Elige el motor MySQL y vuelve a probar. Claix no trata un MySQL como MariaDB.
¿Retrieve necesita INSERT? No. Solo SELECT. Ingest, que sí escribe, es PostgreSQL.