SELECT; los inserts, updates, deletes, cambios de esquema, locks y trucos de múltiples sentencias se rechazan todos. Aun así, recomendamos conectar con un usuario de base de datos de solo lectura — la defensa en profundidad no cuesta nada.
Qué pueden hacer los agents
Prueba preguntar
- “¿Cuántos pedidos recibimos ayer y cuál fue el total?”
- “¿Qué clientes se registraron este mes pero nunca hicieron un pedido?”
- “¿Cuáles son los 10 productos más vendidos este trimestre?”
- “¿Hay algo inusual en el volumen de tickets de soporte esta semana?”
- “¿Qué columnas tiene la tabla de suscripciones?”
Conectar una base de datos
1
Crea un usuario de solo lectura
En MySQL, crea un usuario dedicado para Leme y otórgale solo
SELECT, únicamente sobre los esquemas que los agents deban ver:2
Abre Integraciones
En el dashboard de Leme, ve a Integraciones y selecciona Database.
3
Ingresa los datos de conexión
Dale a la conexión un alias — un nombre corto que los agents usan para referirse a esta base de datos, como Leme valida la conexión antes de guardarla.
analytics — y la URL de conexión:4
Habilítalo en tus agents
Vincula la conexión a los agents que deban usarla.
Permisos
La integración no tiene acciones de escritura, así que no hay nada más riesgoso que configurar. Recuerda que “lectura” aquí significa todo lo que el usuario conectado pueda consultar con
SELECT — limita los grants del usuario de MySQL a los datos que los agents deban ver legítimamente, y deja las tablas personales o sensibles fuera del grant.
Notas de seguridad
- Las credenciales se guardan cifradas y nunca se muestran a los agents — los agents envían queries y Leme las ejecuta del lado del servidor.
- Usa
?ssl=trueen la URL de conexión para que el tráfico hacia tu base de datos viaje cifrado. - ¿Vas a rotar la contraseña? Actualízala en MySQL y luego reconecta en Integraciones → Database con la URL nueva.
Solución de problemas
La conexión falla al validarse
La conexión falla al validarse
Revisa las piezas en orden: host accesible desde internet, puerto correcto (3306 por defecto), usuario y contraseña válidos, nombre de la base de datos presente en la URL. El mensaje de error indica qué verificación falló.
Una query se rechazó por no ser de solo lectura
Una query se rechazó por no ser de solo lectura
Funciona según lo previsto — el agent intentó algo distinto de un
SELECT simple. Reformula la solicitud como una pregunta sobre datos; si realmente necesitas cambiar datos, eso está fuera de lo que esta integración permite.El agent dice que una tabla no existe
El agent dice que una tabla no existe
Probablemente el usuario de solo lectura no tiene
SELECT sobre ese esquema. Amplía el grant en MySQL; no hace falta reconectar.Los resultados parecen cortados
Los resultados parecen cortados
Los resultados de las queries están acotados para que las respuestas sean rápidas. Para preguntas grandes, pide agregados (“totales por mes”) en lugar de filas crudas — el agent llevará el trabajo al SQL.