Ver categorías

Cómo exponer una base de datos MySQL como una API REST segura

11 minutos de lectura

Logotipo de MySQL MySQL API REST

Convierta una consulta MySQL en una consulta segura. API REST — Sin aplicación Express, sin servidor que alojar.

Guarda una consulta SQL en tu base de datos MySQL, genera una clave API por destinatario y entrega a un socio un endpoint JSON en vivo. No necesitas crear ningún servicio PHP o Node, ni código abierto. 3306 Puerto, sin credenciales compartidas: solo un puerto controlado y de solo lectura. API REST de MySQL en minutos.

No hay puertos de entrada Claves por destinatario Solo lectura obligatoria Nada que desplegar

Query Streams es una plataforma segura de integración de bases de datos en tiempo real que convierte cualquier consulta MySQL guardada en un punto final de API REST listo para usar con socios, con claves por destinatario, restricción de solo lectura y un registro de auditoría completo. Obtienes una transmisión en vivo API REST de MySQL sin necesidad de escribir un backend, abrir un puerto de base de datos ni alojar una puerta de enlace. Más información en QueryStreams.com y regístrese gratis Publica tu primer endpoint MySQL en minutos.

¿Por qué exponer una base de datos MySQL como una API REST?

Tarde o temprano, alguien fuera de tu equipo necesitará datos que residen en MySQL: un cliente quiere sus números en un panel de control, un proveedor quiere una fuente de datos en tiempo real en lugar de un CSV diario, la aplicación de un socio necesita leer una parte de tus tablas. Las respuestas habituales siempre dejan algo al descubierto. Envías exportaciones por correo electrónico que llegan desactualizadas, proporcionas un usuario de MySQL de solo lectura que sobrevive al contrato, o creas un pequeño servicio PHP o Node y heredas su autenticación, TLS y parches para siempre. API REST de MySQL Esta es la versión limpia: el socio recibe una URL y un token, no tu base de datos. La parte difícil siempre ha sido crear y operar esa API de forma segura. Query Streams lo convierte en una consulta guardada más una clave.

No hay ningún puerto MySQL abierto

Nunca expones 3306 a internet o abrir un agujero en el cortafuegos. El agente de red realiza la llamada; las llamadas entrantes viajan de vuelta a través de esa única conexión de salida.

Claves API por destinatario

Cada destinatario recibe el suyo propio. qsapi_* Clave. Revoca una sin tocar las demás y sin cambiar la contraseña de tu usuario de MySQL.

Diseño de solo lectura

Un validador de solo lectura rechaza cualquier instrucción que no sea SELECT antes de que llegue a MySQL. No hay errores accidentales. ACTUALIZAR, BORRAR, o GOTA ruta a través de la API.

Tu SQL permanece privado

El destinatario ve la URL del punto final, la respuesta JSON y cualquier filtro que hayas expuesto; nunca tu SQL, esquema, nombre de host o cadena de conexión.

Nada que alojar ni parchear

No se utiliza Express, ni la API de Laravel, ni el proxy inverso. El endpoint se ejecuta como una función gestionada, por lo que no hay que gestionar el pipeline de despliegue ni la rotación TLS.

Permanente, con fecha de caducidad o autodestructivo

Puede configurar un punto final como permanente, establecer una fecha de vencimiento o asignarle un presupuesto fijo de llamadas que se autodestruya tras un número determinado de solicitudes.

Las formas habituales de implementar una API REST en MySQL y por qué resultan problemáticas.

Existen métodos conocidos para implementar una capa HTTP en MySQL, y cumplen su función. El inconveniente es que todos implican la responsabilidad de gestionar un servidor backend, exponer la red o ambas cosas. A continuación, se comparan los enfoques comunes con un punto final compartido de Query Streams cuando el objetivo es simplemente permitir que un socio específico lea un conjunto de resultados específico.

Inquietud API para PHP/Node/Laravel (hágalo usted mismo) Herramienta Auto-API (autoalojada) Flujos de consulta
Base de datos accesible desde la API Debe llegar a MySQL Debe acceder a MySQL (a menudo a través de un puerto público). Agente solo de salida: sin puerto de entrada
Lo que el destinatario posee Una URL en su servicio Una URL en su esquema Una clave de un solo propósito para una sola consulta.
Exposición de esquemas Sea lo que sea que hayas codificado manualmente Esquema completo expuesto por defecto Una consulta guardada, nada más.
Claves por destinatario + revocación Constrúyelo tú mismo Constrúyelo tú mismo Construido
Registro de auditoría de cada llamada Añádelo tú mismo Añádelo tú mismo Construido
Usted opera / parchea / rota TLS Sí, para siempre Sí, para siempre Gestionado para usted
Tiempo hasta el primer punto final Días De horas a días Acta

¿No quieres construir y mantener un backend?

Un servidor API personalizado es la opción más flexible cuando se requiere una lógica de negocio compleja. Pero si simplemente desea proporcionar a un socio específico un conjunto de resultados controlado y de solo lectura —con su propia clave, un registro de auditoría y sin necesidad de ejecutar ningún servicio—, Query Streams es la solución ideal. Desarrolle el backend cuando realmente lo necesite; utilice Query Streams cuando el objetivo sea simplemente compartir esta consulta de forma segura.

Cómo Query Streams convierte una consulta MySQL en una API REST

Una vez instalado el Agente de red y configurado el conector MySQL, la promoción de una consulta guardada a un punto final REST compartido requiere aproximadamente tres pasos. Si ya utiliza Query Streams para Excel, Google Sheets o el servidor MCP, el Agente y el conector ya están instalados; solo tiene que pasar al segundo paso.

1

Conecta MySQL a través del agente

Instale el Agente de red junto a su base de datos y agregue un conector MySQL con un usuario estándar de solo lectura. El Agente establece una conexión TLS saliente con Query Streams; su base de datos nunca queda expuesta a internet.

2

Guardar una consulta SQL

Escribe el SELECCIONE En el Generador de consultas, conéctese a su conexión MySQL: se admiten JOINs, subconsultas y parámetros. Asígnele un nombre y guárdelo. Cualquier elemento que pueda seleccionar puede convertirse en un punto final.

3

Promociónalo y comparte una clave

Abra la pestaña Instalar, elija el tipo de punto final (permanente, con vencimiento o presupuesto de llamadas) y el formato de salida, luego invite a un destinatario por correo electrónico. Ellos obtienen una reclamación de enlace mágico y su propio qsapi_* llave.

Una consulta guardada, muchas superficies

La misma consulta MySQL guardada puede controlar una actualización de Excel, una barra lateral de Google Sheets, una conversación de Claude o Cursor a través del servidor MCP, y un punto final REST orientado a socios al mismo tiempo. Usted crea la consulta una sola vez; Query Streams se encarga de las interfaces.

No hay ningún puerto MySQL abierto, no hay credenciales compartidas

El modelo de seguridad es la razón por la que los equipos optan por esta solución en lugar de una base de datos pública. Tu contraseña de MySQL reside únicamente en el almacén de credenciales cifradas del Agente en tu red; nunca se transmite a nuestra nube ni es visible para el destinatario. Además, cada punto final te ofrece controles personalizados para cada destinatario, que puedes ajustar antes de compartir la información.

Agente dedicado exclusivamente a llamadas salientes

El agente se conecta a agente.querystreams.com en el puerto 443. Su firewall ve HTTPS saliente normal; no hay puertos entrantes, ni VPN, ni túnel.

Aplicación de la ley de solo lectura

Un validador se ejecuta en el Agente, en su red, antes de que cualquier instrucción llegue a MySQL. Las instrucciones que no son SELECT se rechazan con SOLO LECTURA_VIOLACIÓN.

Listas de permitidos de IP + CORS

Asigne la clave de un destinatario a direcciones IP o rangos CIDR específicos y restrinja qué navegadores pueden llamar a cada punto final. Las llamadas fuera de la lista se rechazan antes de que se ejecute cualquier consulta SQL.

Límites de velocidad + cuotas de bytes

Los límites de velocidad de dos niveles (por clave y por punto final), junto con un límite de bytes mensual opcional, mantienen a un destinatario ruidoso o descontrolado dentro de un radio de explosión seguro.

Llama a tu API REST de MySQL

Los destinatarios llaman al punto final como cualquier otra API REST: un token de portador y una URL. Cualquier parámetro de consulta guardado que haya expuesto se puede configurar por llamada, en la cadena de consulta para CONSEGUIR o en un cuerpo JSON para CORREOEl agente vincula esos valores como parámetros adecuados de sentencias preparadas, nunca como concatenación de cadenas, por lo que un destinatario no puede eludir un filtro para inyectar SQL.

GET con un parámetro de filtro
# Llamada del destinatario a su punto final respaldado por MySQL rizo -H “Autorización: Portador qsapi_K7…ZmQ” \ “https://api.querystreams.com/v1/endpoints/orders-today?warehouse=US-EAST&since=2026-01-01”

Seleccione el formato de salida por llamada con el Aceptar encabezado (o un ?formato= parámetro de consulta): JSON para una sola matriz, CSV para hojas de cálculo y pandas, o, en un punto final de transmisión, NDJSON (una fila JSON por línea) para canalizaciones de análisis sobre la marcha. Para consumidores sensibles al ancho de banda, opte por LZ4 compresión de carga útil con Codificación aceptada: lz4; las respuestas sin comprimir también obtienen el estándar gzip en el cable automáticamente. Para obtener el desglose completo de los modos estático frente a los de transmisión, las cuatro combinaciones de cables y la generación de OpenAPI 3.1, consulte la API REST instantánea para bases de datos SQL guía.

Cómo se factura el uso

La plataforma API está incluida en todos los planes de Query Streams (sin necesidad de suscripción adicional) y utiliza la misma asignación mensual de bytes que Excel, Google Sheets y el servidor MCP. Cómo se contabilizan la facturación basada en bytes y la compresión LZ4 →

Conéctalo a Power BI, Tableau y cualquier programa que lea JSON.

Porque cada punto final devuelve un estándar JSON —con CSV y NDJSON en streaming disponibles— cualquier herramienta que pueda leer una fuente REST consume sus datos MySQL directamente, sin necesidad de instalar nada de su parte ni de utilizar ningún controlador MySQL. Power Query es el puente más fácil hacia la pila de BI de Microsoft: en Power BI elegir Obtener datos → Desde la web, pegue la URL del punto final, agregue su Autorización encabezado, y Power Query analiza el JSON en una tabla actualizable que alimenta su modelo de datos. (Para datos en vivo dentro de una hoja de cálculo, la función nativa Complemento de Excel para consultar flujos de consultas es la opción más sencilla: Power Query está ahí cuando necesitas los datos en el propio modelo de Power BI.

Logotipo de Microsoft Power Query Power Query Obtener datos → Desde la web, pegue la URL y el token de portador, expanda el JSON a una tabla actualizable.
Logotipo de Microsoft Power BI Power BI El mismo motor de Power Query: cargue el punto final directamente en su modelo y programe la actualización.
Logotipo de Tableau Tableau Apunte un conector de datos web o una fuente JSON al punto final para los paneles de control en tiempo real.
Logotipo del cartero Cartero Importa la especificación OpenAPI 3.1 y, a continuación, envía, inspecciona y comparte solicitudes con un solo clic.

También alimenta n8n, Qlik, rizo, Python (solicitudes o pandas.read_json), Insomnia, Hoppscotch, o cualquier script o flujo de trabajo que pueda enviar una solicitud HTTP y leer JSON.

También funciona con Amazon RDS, Cloud SQL y PlanetScale.

No importa dónde se ejecute MySQL. El agente se conecta de la misma manera a un servidor local o a un servicio administrado: Amazon RDS y Aurora MySQL, Azure Database for MySQL, Google Cloud SQL for MySQL o PlanetScale. Para obtener la menor latencia, implemente el agente en la misma red o región que la base de datos; una cuenta de Query Streams puede ejecutar varios agentes en diferentes regiones y nubes, y un único punto final se comporta de forma idéntica independientemente del agente que lo gestione.

¿Utilizas MariaDB?

El mismo conector sirve para MariaDB, que comparte el protocolo de comunicación de MySQL. Si su base de datos es MariaDB, siga las instrucciones específicas. Exponer una base de datos MariaDB como una API REST guía: el flujo de trabajo es idéntico. El mismo enfoque también cubre PostgreSQL, Microsoft SQL Server, SQLite, Microsoft Access, Snowflake, Oracle, BigQuery y DuckDB; explore la Guías de configuración de conectores para la lista actual.

Preguntas frecuentes

¿Necesito abrir un puerto o exponer MySQL a internet? +
No, el agente de red realiza llamadas salientes a través de TLS en el puerto 443, por lo que las llamadas entrantes viajan de vuelta a través de esa única conexión y su puerto MySQL (3306 (por defecto) nunca se expone. Cómo funciona la conexión solo de salida →
¿Puede el destinatario ver mis credenciales SQL o de mi base de datos? +
Nunca: los destinatarios solo ven la URL del punto final, la respuesta y los filtros que usted expuso, mientras que su contraseña de MySQL permanece en el almacén de credenciales cifradas del Agente en su red. Lo que permanece privado frente a lo que ve el destinatario →
¿Tengo que crear un backend para obtener una API REST de MySQL? +
No, en lugar de escribir y alojar un servicio PHP, Node o Laravel, guardas una consulta SQL y la conviertes en un punto final, y Query Streams proporciona la autenticación, TLS, limitación de velocidad, registro de auditoría y claves por destinatario. ¿Por qué no hay un backend para construir o parchear? →
¿Qué formatos de salida puede devolver la API? +
JSON (una sola matriz, la predeterminada), CSV (RFC 4180) y, en un punto final de transmisión, NDJSON, elegido por llamada con el Aceptar encabezado o un ?formato= parámetro, con compresión de carga útil LZ4 opcional. Formatos de cable y opciones de compresión →
¿Pueden los destinatarios filtrar los resultados o reciben una consulta predefinida? +
Tú decides: cualquier parámetro que expongas se convierte en un filtro por llamada (CONSEGUIR cadena de consulta o CORREO Cuerpo JSON) que el Agente vincula como parámetro de sentencia preparada, por lo que no se pueden usar filtros para inyectar SQL. Cómo funcionan los parámetros expuestos y la seguridad contra la inyección SQL →
¿Puede un punto final caducar o autodestruirse? +
Sí, un punto final puede ser permanente, caducar en una fecha determinada o tener un presupuesto de llamadas fijo que se autodestruye después de un número determinado de solicitudes, y puede revocar la clave de cualquier destinatario al instante sin cambiar la contraseña de su base de datos. Duración de los puntos finales y controles de claves por destinatario →
¿Es compatible con Amazon RDS, Cloud SQL o PlanetScale? +
Sí. El agente se conecta a cualquier instancia de MySQL accesible, ya sea local o gestionada: Amazon RDS y Aurora MySQL, Azure Database for MySQL, Google Cloud SQL for MySQL y PlanetScale funcionan. Para obtener la mejor latencia, ejecute el agente en la misma región que la base de datos; una cuenta puede ejecutar varios agentes en diferentes nubes y regiones.
¿El destinatario necesita una cuenta de Query Streams? +
Se recomienda compartir por correo electrónico: el destinatario recibe un enlace mágico y se crea automáticamente una organización de nivel gratuito cuando acepta; o bien, puede emitir una clave de servicio para el acceso desatendido de máquina a máquina. Reclamaciones del destinatario frente a claves de servicio →

Comenzar

Publica tu primera API REST de MySQL gratis.

Regístrate, instala el Agente de red junto a tu base de datos MySQL, guarda una consulta SQL y envía un enlace mágico por correo electrónico al destinatario. Las claves por destinatario, la restricción de solo lectura y un registro de auditoría completo están activados desde la primera llamada.

Guías relacionadas: API REST instantánea para bases de datos SQL | Plataforma API REST de base de datos | Exponer MariaDB como una API REST | Guías de configuración de conectores

Categoría: Plataforma API

Etiquetas: mysql-rest-api, mysql, rest-api, exponer mysql-como-api, mysql-api-sin-código, compartir-datos-mysql, claves-por-destinatario, api-sin-código, base-de-datos-rest api

Meta Descripción: Convierte una consulta MySQL en una API REST segura de solo lectura con claves por destinatario; sin aplicación Express, sin puerto abierto, sin código.

Actualizado el 16 de junio de 2026

Funciona con BetterDocs