MySQL-Logo

Relationale Maschine

Verbinden MySQL zu Excel, Google Sheets, KI und REST

Die weltweit am häufigsten eingesetzte Open-Source-Datenbank. Verbinden Sie sich mit einer lokalen Instanz, Amazon RDS, Cloud SQL oder einem beliebigen MySQL-Wire-Host.

Eine Verbindung, jede Oberfläche

Wohin Ihre MySQL-Daten gelangen können

Query Streams liest eine MySQL-Datenbank als Live-SQL aus Microsoft Excel, Google Sheets, Power BI, KI-Assistenten über MCP und einem REST-Endpunkt. Ein selbstgehosteter Agent verbindet sich aus Ihrem internen Netzwerk über Port 3306 – ohne eingehenden Port, VPN oder IP-Whitelist. Dank des modernen MySqlConnector-Treibers funktioniert die standardmäßige Anmeldung mit caching_sha2_password von MySQL 8 ohne zusätzliche Installationen. Auch ältere Datumsangaben im Format „0000-00-00“, die bei anderen Tools zu Fehlern führen, werden als leer und nicht als fatal interpretiert.

  1. Für Ihr Team, Ihre Lieferanten und Partner
  2. MySQL zu Excel Microsoft Excel · Excel-Add-in

    MySQL-Live-Ergebnisse direkt in ein Arbeitsblatt importieren und bei Bedarf aktualisieren – Desktop-Excel, Excel Online, Microsoft 365.

    MySQL-Leitfaden
  3. MySQL zu Google Sheets Tabellen-Add-on

    Führen Sie eine gespeicherte MySQL-Abfrage aus der Seitenleiste aus und ziehen Sie die Zeilen in das Tabellenblatt. Gemeinsame Mitarbeiter können es selbst aktualisieren.

    MySQL-Leitfaden
  4. Fragen Sie Nova nach MySQL Nova AI · Text zu SQL

    Stellen Sie Ihre Frage in einfachem Englisch. Nova kennt Ihre MySQL-Tabellen bereits, schreibt und führt die SQL-Abfrage aus, erklärt die Antwort und stellt sie grafisch dar – keine Abfrage muss geschrieben, keine Zugangsdaten müssen angegeben werden.

    So funktioniert Nova
  5. MySQL zu Datenanzeige Ergebnispräsentation · Team, Lieferanten, Partner · Smartphone, Tablet, Desktop

    Teilen Sie Live-MySQL-Ergebnisse mit beliebigen Personen – Kollegen, Lieferanten, Partnern – als Lesezeichen speichernde Tabelle, die beim Öffnen auf einem Smartphone, Tablet oder Desktop-Computer immer neu angezeigt wird. Die Empfänger sehen die Ergebnisse, niemals die SQL-Anweisungen oder Zugangsdaten.

    So funktioniert der Datenbetrachter
  6. Für Apps und Systeme
  7. MySQL REST-API HTTP-Endpunkt

    Veröffentlichen Sie eine MySQL-Abfrage als authentifizierten JSON-Endpunkt, den jede Anwendung aufrufen kann, mit einer OpenAPI 3.1-Spezifikation und vorgefertigten Sammlungen für Postman, Insomnia und Hoppscotch. Es wird kein Datenbankport geöffnet.

    MySQL-Leitfaden
  8. MySQL zu Power BI Power Query M

    Fügen Sie die generierte Power Query M in den Power BI Advanced Editor ein, und der Bericht liest Live-MySQL-Ergebnisse über HTTPS – ohne ODBC-Treiber und ohne geöffneten Datenbankport.

    So funktioniert Power BI
  9. MySQL zu Airtable Automatisierungsplattform

    Synchronisieren Sie MySQL-Zeilen zeitgesteuert mit einer Airtable-Datenbank oder rufen Sie sie innerhalb eines Airtable-Automatisierungsskripts ab.

    MySQL-Leitfaden
  10. MySQL zu Baserow Automatisierungsplattform

    Eine Baserow-Tabelle wird über den REST-Endpunkt mit Daten aus MySQL gefüttert – entweder selbst gehostet oder in der Baserow-Cloud.

    MySQL-Leitfaden
  11. MySQL zu SeaTable Automatisierungsplattform

    Halten Sie eine SeaTable-Basis mit MySQL-Daten auf dem neuesten Stand, ohne eine Datei zu exportieren oder die Datenbank preiszugeben.

    MySQL-Leitfaden
  12. MySQL zu Smartsheet Automatisierungsplattform

    Die MySQL-Ergebnisse werden in ein Smartsheet-Grid übertragen, sodass Pläne und Berichte aus dem Quellsystem und nicht aus dem Export der letzten Woche gelesen werden.

    MySQL-Leitfaden
  13. MySQL zu Anvil Anvil Works · App-Plattform

    Eine Anvil Python-App mit MySQL über den REST-Endpunkt absichern, anstatt Datenbankzugangsdaten in die App einzubetten.

    MySQL-Leitfaden
  14. Für KI-Tools
  15. MySQL MCP-Server Claude-, Cursor- und MCP-Clients

    Gewähren Sie einem KI-Assistenten Lesezugriff auf MySQL mit dem Schema, das er benötigt, um korrekte SQL-Abfragen zu schreiben – keine Anmeldeinformationen im Chat.

    MySQL-Leitfaden
  16. An Personen geliefert
  17. MySQL-Warnungen und -Berichte Slack · Discord · E-Mail · Webhook

    Richten Sie eine MySQL-Abfrage ein, die zeitgesteuert ausgeführt wird, und lassen Sie die Zeilen an Slack, Discord, per E-Mail oder über einen signierten Webhook liefern – oder halten Sie die Nachricht zurück, bis eine bestimmte Zeilenanzahl, ein Schwellenwert oder eine prozentuale Änderung den von Ihnen festgelegten Wert überschreitet.

    So funktionieren Benachrichtigungen und Berichte

So funktioniert es

5 Schritte, keine Änderung der eingehenden Firewall

01

Installieren Sie den Netzwerkagenten auf einem Rechner, der den Server bereits erreichen kann – beispielsweise im selben Büro, in derselben VPC oder auf demselben Host.

02

Geben Sie Host, Port, Datenbank, Benutzername und Passwort ein. Aktivieren Sie TLS, falls der Server dies anbietet; Clientzertifikate werden akzeptiert, falls erforderlich.

03

Wählen Sie die Datenbanken aus, die freigegeben werden sollen. Der Agent liest das Tabellen- und Spaltenlayout einmalig ein, damit der Abfrage-Generator echte Namen vorschlagen kann.

04

Schreiben Sie schreibgeschütztes SQL oder lassen Sie Nova es generieren. Filter können von Ihnen deklarierte @Variablen oder Literalwerte sein, die der Connector in Ihrer WHERE-Klausel erkennt.

05

Lesen Sie die gespeicherte Abfrage aus Excel, Sheets, Power BI, MCP oder REST – und teilen Sie sie mit jemandem, der die Anweisung nie zu Gesicht bekommt.

Funktionsanalyse

Was MySQL Ihnen bietet

Die problematischen Aspekte echter MySQL-Daten

Langlebige MySQL-Schemas sammeln Dinge an, die die Spezifikation erlaubt, mit denen die meisten Tools aber nicht umgehen können. Diese werden behandelt, anstatt vermieden zu werden.

  • Null-Datum — '0000-00-00' ist in MySQL zulässig, führt aber bei den meisten Clients zu einem Fehler. Es wird als leeres Datum interpretiert, anstatt die gesamte Abfrage abzubrechen.
  • tinyint bedeutet tinyint tinyint(1) ist der herkömmliche boolesche Wert und liefert „wahr“ oder „falsch“, während ein einfacher tinyint eine kleine ganze Zahl bleibt. Nichts deutet darauf hin, dass Ihre Statusspalte (0 bis 9) eine Ja/Nein-Spalte darstellt.
  • BIT-Spalten werden als ganze Zahlen und nicht als boolesche Werte empfangen, da ein BIT breiter als ein einzelnes Bit sein kann.
  • Exakte Dezimalzahlen — Eine Dezimalspalte behält die von Ihnen angegebene Genauigkeit und Skala bei. Geldbeträge werden beim Ausgeben nicht zu Gleitkommazahlen.
  • Standardmäßig wird utf8mb4 verwendet, sodass Emojis und die gesamte Palette der CJK-Zeichen erhalten bleiben.

Anmeldung, so wie es MySQL 8 macht

MySQL 8 hat `caching_sha2_password` als Standard festgelegt und eine Reihe von Tools hinterlassen, die nur das ältere `mysql_native_password` verwenden. Der Agent nutzt den MySqlConnector anstelle des Legacy-Treibers, sodass beide funktionieren, ohne dass Sie Ihren Server für ein Reporting-Tool auf das alte Schema umstellen müssen.

  • TLS ist eine Option, die standardmäßig deaktiviert ist, bis sie aktiviert wird. Ist sie aktiviert, muss die Verbindung verschlüsselt werden und dies ist nicht nur empfehlenswert, sondern erforderlich. Auf Anfrage des Servers können ein Zertifizierungsstellenzertifikat, ein Clientzertifikat und ein Schlüssel bereitgestellt werden.
  • Datenbankübergreifende Joins funktionieren über eine einzige Verbindung. — Wenn der Login zwei Datenbanken auf demselben Server sehen kann, kann eine Abfrage beide lesen.

Bei föderierten Joins wird der Datenbankname verwendet.

MySQL verfügt über keine Schemaebene zwischen Datenbank und Tabelle, daher ist bei einer quellenübergreifenden Abfrage der mittlere Teil eines dreiteiligen Namens die Datenbank selbst.

-- shop_prod ist die Verbindung, sales ist die MySQL-Datenbank. SELECT c.region, COUNT(*) AS orders FROM shop_prod.sales.orders o JOIN pg_crm.public.customers c ON c.id = o.customer_id GROUP BY c.region

Wird von jedem Datenbank-Connector gemeinsam genutzt.

Gilt für jeden Datenbank-Connector.

  • Nur ausgehend Der Agent öffnet eine einzige verschlüsselte Verbindung zu Query Streams. Es wird kein eingehender Port weitergeleitet, kein VPN verwendet, keine IP-Zulassungsliste verwendet und Ihre Datenbank wird nicht im Internet offengelegt.
  • Die Zugangsdaten bleiben erhalten. — Benutzername und Passwort der Datenbank befinden sich auf dem Rechner, auf dem der Agent installiert wurde. Query Streams empfängt diese Daten nicht und kann daher nicht selbstständig auf Ihre Datenbank zugreifen.
  • Schreibgeschützt, erzwungen — Nur eine Anweisung gleichzeitig, ausschließlich SELECT und ähnliche Optionen. Ein Schreibvorgang wird auf Ihrem Rechner abgelehnt, bevor er an den Server gesendet wird, anstatt sich auf eine von jemandem gesetzte Berechtigung zu verlassen.
  • Setzen Sie beliebig viele Agenten ein. — eine pro Standort, Region oder Cloud. Alle sichtbaren Datenquellen werden in einem einzigen Dropdown-Menü angezeigt, sodass niemand wissen muss, welcher Agent welche Daten hostet.

Was Sie erhalten, sobald eine Abfrage gespeichert wurde

  • Teilen Sie die Funktionalität, nicht die SQL-Anweisung. — Ein Kollege oder ein externer Partner kann Ihre Abfrage ausführen und deren Filter ändern, ohne jemals die dahinterstehende Anweisung zu sehen.
  • Filter aus beiden Richtungen — Deklarieren Sie sie selbst als @Variablen oder lassen Sie den Konnektor die bereits in Ihrer WHERE-Klausel vorhandenen Literalwerte erkennen und diese als Dropdown-Listen anbieten.
  • Lesen Sie es von überall aus — Microsoft Excel, Google Sheets, Power BI, die REST-API, KI-Assistenten über MCP, der Query Builder und Nova lesen alle dieselbe gespeicherte Abfrage.
  • Mehrere gleichzeitig ausführen — fünf gespeicherte Abfragen in fünf Tabellenblattregisterkarten, die gleichzeitig abgearbeitet werden, unabhängig von der Größe der Ergebnisse.
  • Verbinde es mit allem anderen, was du verbunden hast. — eine andere Datenbank, eine Business-API oder einen Ordner mit Dateien in einer einzigen schreibgeschützten Anweisung.

Quellübergreifendes SQL

Verbinden Sie MySQL mit Ihren übrigen Daten.

Eine einzige Anweisung kann MySQL und Ihre anderen Verbindungen gleichzeitig umfassen. Jede Quelle führt nur den von ihr bearbeitbaren Teil aus, streamt das Ergebnis zurück, und die Verknüpfung erfolgt zentral – die Quellen kommunizieren nie miteinander, und es werden keine Daten kopiert.

3 Verbindungen · 3 Agenten

MySQL Relationale Maschine
PostgreSQL Relationale Maschine
Streifen Zahlungen & Rechnungsstellung

Eine Aussage

– nichts kopiert, nichts zusammengeführt, nichts geplant
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
VON     Shop-Produkte.shopdb.orders1 f
JOIN     pg_crm.public.customers2 c ON c.id = f.customer_id
JOIN     Abrechnung.stripe.invoices3 i ON i.customer = c.stripe_id
GROUP BY c.region
ORDER BY in Rechnung gestellte Beschreibung;

Die drei Bestandteile sind Verbindung, Schema und Tabelle – der Verbindungsname ist der von Ihnen gewählte. Die Spalten dienen nur der Veranschaulichung; Ihre Tabellen entsprechen Ihren tatsächlichen Tabellen. Der Schreibschutz gilt für alle Komponenten: Nur SELECT, WITH und EXPLAIN sind zulässig, und es gibt eine Obergrenze für die Datenmenge, die eine einzelne Datenquelle pro Abfrage übermitteln darf. Wie föderierte Abfragen funktionieren

Verbindungsdetails

Was MySQL benötigt

Hafen
Standardmäßig Port 3306, jeder Port wird akzeptiert
Verschlüsselung
TLS optional – standardmäßig deaktiviert, dann erforderlich statt empfohlen. CA-Zertifikat, Clientzertifikat und Schlüssel werden akzeptiert.
Anmeldedaten
Ein Datenbankbenutzername und ein Passwort, die auf dem Agenten gespeichert sind. Query Streams empfängt diese niemals.
Treiber
MySqlConnector 2.5.0, enthalten – MySQL 8 benötigt für die Anmeldung mit caching_sha2_password keine zusätzliche Konfiguration.
Zeichensatz
utf8mb4, sodass Emojis und der vollständige CJK-Zeichensatz den Hin- und Rückweg überstehen.
Legacy-Datumsangaben
'0000-00-00' wird als leeres Datum interpretiert, anstatt eine Ausnahme auszulösen.
Datenbankübergreifend
Eine Abfrage kann zwei Datenbanken auf demselben Server lesen, wenn der Login beide Datenbanken sehen kann.
Auszeiten
30 Sekunden zum Verbinden, 30 Sekunden pro Aussage beim Streaming
Schreibgeschützt
Wird auf Ihrem eigenen Rechner durchgesetzt, bevor die Anweisung an den Server gesendet wird.

Es werden weder Kopien erstellt noch geplant. Der Agent führt Ihre SELECT-Abfrage auf dem Live-Server aus und streamt die Zeilen, sodass eine um 16 Uhr aktualisierte Tabelle den Datenbankstand von 16 Uhr anzeigt und nicht die Daten der gestrigen Auszüge.

Bei einer datenbankübergreifenden Abfrage ist der mittlere Teil einer dreiteiligen Referenz der Name der MySQL-Datenbank, da MySQL keine separate Schemaebene besitzt. Eine Verbindung namens shop_prod, die die Verkaufsdatenbank liest, wird als shop_prod.sales.orders geschrieben.

Herstellerdokumentation: www.mysql.com

Häufig gestellte Fragen

Fragen zu MySQL

Welche Tools können MySQL-Daten über Query Streams lesen?

Alle Anwendungen – Excel, Google Sheets, MCP, REST-API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, geplante Benachrichtigungen und Berichte – werden über eine einzige Verbindung bereitgestellt. Die Datenbankverbindung wird einmalig hergestellt, und alle Anwendungen greifen auf dieselbe schreibgeschützte Verbindung zu – es ist keine separate Einrichtung pro Tool und keine Datenkopie erforderlich.

Muss ich einen Firewall-Port für meine MySQL-Datenbank öffnen?

Nein. Der Query Streams Network Agent läuft innerhalb Ihres Netzwerks und öffnet eine einzige verschlüsselte ausgehende Verbindung. Es wird kein eingehender Datenverkehr überwacht, ein VPN ist nicht erforderlich und die Datenbank behält ihre bestehenden Firewall-Regeln bei.

Können Abfrageströme Daten in MySQL verändern?

Nein. Der Agent erzwingt zum Zeitpunkt der Ausführung den Lesezugriff – es wird jeweils nur eine Anweisung ausgeführt, beispielsweise SELECT-Anweisungen. Die Anmeldeinformationen verbleiben auf dem Agenten und werden niemals an Abfrageströme gesendet.

Was benötigt Query Streams, um eine Verbindung zu MySQL herzustellen?

Ein erreichbarer Host, eine Rolle und deren Passwort – der Agent trägt den Treiber, daher wird nichts auf der Datenbank installiert. Port: Standardmäßig 3306, jeder Port wird akzeptiert. Verschlüsselung: TLS optional – standardmäßig deaktiviert, danach erforderlich. CA, Clientzertifikat und Schlüssel werden akzeptiert. Anmeldeinformationen: Datenbankbenutzername und -passwort, die auf dem Agenten gespeichert sind. Query Streams empfängt diese nicht. Treiber: MySqlConnector 2.5.0, integriert – die Anmeldung mit caching_sha2_password von MySQL 8 erfordert keine zusätzliche Konfiguration.

Kann ich MySQL mit einer anderen Datenbank in derselben Abfrage verknüpfen?

Ja, das ist eine föderierte Abfrage. Eine einzige Anweisung kann gleichzeitig auf MySQL und Ihre anderen Verbindungen zugreifen und wird als Verbindung.Schema.Tabelle geschrieben. Jede Quelle führt nur den Teil aus, den sie verarbeiten kann, und streamt das Ergebnis zurück. Der Join erfolgt zentral, sodass die Quellen keine Verbindung zueinander herstellen und nichts kopiert oder eingeplant wird. Der Schreibschutz gilt nur für SELECT, WITH und EXPLAIN. Außerdem ist die Datenmenge, die eine Quelle für eine einzelne Abfrage übermitteln darf, begrenzt. Föderierte Abfragen sind eine Funktion des Abonnementplans. Die Seite für föderierte Abfragen zeigt die aktuellen Quell- und Größenbeschränkungen an.

Platzieren Sie MySQL dort, wo die eigentliche Arbeit stattfindet.

Installieren Sie den Agenten, verweisen Sie ihn auf Ihre Datenbank und wählen Sie ein Ziel aus.

Schreibgeschützt Nur ausgehend Die Zugangsdaten bleiben beim Agenten.