MariaDB SkySQL logo

Managed MariaDB speaks MariaDB

Connect MariaDB SkySQL to Excel, Sheets and AI

MariaDB Cloud, formerly SkySQL. Real MariaDB rather than a MySQL-compatible engine, on a port assigned per service.

1connection
0inbound ports
read-onlyenforced

One connection, every surface

Where your SkySQL data can go

Connect SkySQL once and the same read-only connection feeds all of these — no second setup, no second copy of the data. 9 of 11 have a step-by-step guide.

Guide

SkySQL to Excel

Microsoft Excel · Excel add-in

Pull live SkySQL results straight into a worksheet and refresh them on demand — desktop Excel, Excel Online, Microsoft 365.

Read the MariaDB guide
Guide

SkySQL to Google Sheets

Sheets add-on

Run a saved SkySQL query from the sidebar and drop the rows into the sheet. Shared collaborators can refresh it themselves.

Read the MariaDB guide
Guide

SkySQL MCP server

Claude, Cursor and MCP clients

Give an AI assistant read-only access to SkySQL with the schema it needs to write correct SQL — no credentials in the chat.

Read the MariaDB guide
Guide

SkySQL REST API

HTTP endpoint

Publish a SkySQL query as an authenticated JSON endpoint any application can call, with an OpenAPI 3.1 spec and ready-made Postman, Insomnia and Hoppscotch collections. No database port is opened.

Read the MariaDB guide
Guide

SkySQL to Airtable

Automation platform

Sync SkySQL rows into an Airtable base on a schedule, or fetch them inside an Airtable automation script.

Read the MariaDB guide
Guide

SkySQL to Baserow

Automation platform

Feed a Baserow table from SkySQL over the REST endpoint — self-hosted or Baserow cloud.

Read the MariaDB guide
Guide

SkySQL to SeaTable

Automation platform

Keep a SeaTable base current with SkySQL data without exporting a file or exposing the database.

Read the MariaDB guide
Guide

SkySQL to Smartsheet

Automation platform

Push SkySQL results into a Smartsheet grid so plans and reports read from the source system, not last week's export.

Read the MariaDB guide
Guide

SkySQL to Anvil

Anvil Works · App platform

Back an Anvil Python app with SkySQL through the REST endpoint instead of embedding database credentials in the app.

Read the MariaDB guide
Supported

SkySQL to Power BI

Power Query M

Paste the generated Power Query M into the Power BI Advanced Editor and the report reads live SkySQL results over HTTPS — no ODBC driver, no database port opened.

How Power BI works no SkySQL walkthrough written yet
Supported

SkySQL alerts and reports

Slack · Discord · Email · Webhook

Put a SkySQL query on a schedule and have the rows delivered to Slack, Discord, email or a signed webhook — or hold the message until a row count, threshold or percentage change crosses the line you set.

How alerts and reports work no SkySQL walkthrough written yet

How it works

5 steps, no inbound firewall change

01

Install the Network Agent anywhere that can reach the service. It only makes outbound connections, so no inbound firewall rule is needed.

02

In the MariaDB Cloud portal open your service and go to Connect. The hostname, port and username are shown there.

03

Enter the hostname — it ends in .skysql.com, which the card recognises — along with the port from that panel.

04

Add the database, username and password. Nothing is prefilled here on purpose, because the values are yours rather than a platform default.

05

Leave Use SSL on, test, and save. Read it from Microsoft Excel, Google Sheets, Power BI, MCP or REST.

Feature deep-dive

What SkySQL gives you

Copy the port; it is not 3306

The single most common way to get this wrong, and the reason the field is left empty rather than prefilled.

  • MariaDB Cloud assigns a port per service. 3306 and 3307 both turn up, and so do others — the number belongs to your service, not to the engine.
  • So the card asks for it rather than guessing, and refuses to save without one. A prefilled 3306 would be right often enough to be dangerous and wrong often enough to matter.
  • Take it from the Connect panel alongside the hostname. They are shown together, so there is no extra step.
  • A wrong port does not produce a clean rejection. It hangs and then times out, which reads as a network or firewall problem and sends you looking somewhere unhelpful.

Real MariaDB, which matters more than it sounds

A number of managed services speak the MySQL protocol without being MariaDB. This one is the real thing.

  • MariaDB Cloud is run by MariaDB, so MariaDB-specific syntax and behaviour work as documented rather than approximately.
  • The agent connects with the MariaDB-compatible driver and treats the connection as MariaDB throughout, including when capturing your schema.
  • The service was called SkySQL before it was renamed MariaDB Cloud. Both names refer to the same thing, and the card is labelled MariaDB Cloud.
  • Hostnames still end in .skysql.com, which is what the card recognises on sight.

Encryption is the checkbox, so leave it on

MariaDB Cloud requires TLS at its end. The instruction here is simple, but it is worth being precise about what enforces what.

  • The Use SSL checkbox is on by default, and while it is on the agent asks for a required TLS session. That is the correct setting and there is no reason to change it.
  • The checkbox is the whole mechanism. The agent keeps a table of hosted PostgreSQL hostnames it forces encryption for, and there is no MariaDB or MySQL equivalent — so nothing overrides the checkbox if you clear it.
  • In practice that means turning it off gets you a failed connection rather than a quiet cleartext one, because the service will refuse. But the protection comes from MariaDB Cloud, not from the agent.
  • Certificate chain verification is not performed. Read encryption as protection against anyone reading the traffic in transit rather than proof of which server answered.
  • Everything the agent runs is read-only, one statement at a time, and your credentials stay on the machine you installed it on.
-- Read-only MariaDB\nSELECT   c.name,\n         COUNT(o.id)   AS orders,\n         SUM(o.amount) AS revenue\nFROM     customers AS c\nJOIN     orders    AS o ON o.customer_id = c.id\nWHERE    o.placed_at >= NOW() - INTERVAL 30 DAY\nGROUP BY c.name\nORDER BY revenue DESC;

Shared by every database connector

True of every database connector

  • Outbound only — the agent opens one encrypted connection out to Query Streams. No inbound port to forward, no VPN, no IP allowlist, nothing about your database exposed to the internet.
  • Credentials stay put — the database username and password live on the machine you installed the agent on. Query Streams never receives them and cannot reach your database on its own.
  • Read-only, enforced — one statement at a time, SELECT and friends only. A write is rejected on your own machine before it is ever sent to the server, rather than relying on a permission somebody remembered to set.
  • Deploy as many agents as you like — one per site, region or cloud. Every data source they can see arrives in a single dropdown, so nobody has to know which agent hosts what.

What you get once a query is saved

  • Share the capability, not the SQL — a colleague or an outside partner can run your query and change its filters without ever seeing the statement behind it.
  • Filters from either direction — declare them yourself as @variables, or let the connector spot the literal values already sitting in your WHERE clause and offer those as dropdowns.
  • Read it from anywhere — Microsoft Excel, Google Sheets, Power BI, the REST API, AI assistants over MCP, the Query Builder and Nova all read the same saved query.
  • Run several at once — five saved queries into five worksheet tabs, streamed concurrently, however large the results.
  • Join it to anything else you have connected — another database, a business API, or a folder of files, in one read-only statement.

Cross-source SQL

Join SkySQL to the rest of your data

One statement can span SkySQL and your other connections at once. Each source runs only the part it can, streams the result back, and the join happens centrally — the sources never talk to each other and nothing is copied anywhere.

3 connections · 3 agents

MariaDB SkySQL Managed MariaDB
PostgreSQL Relational engine
Stripe Payments & billing

One statement

-- nothing copied, nothing merged, nothing scheduled
SELECT   c.region, COUNT(*) AS orders, SUM(i.amount_due) AS invoiced
FROM     skysql_app.shopdb.orders1 f
JOIN     pg_crm.public.customers2  c ON c.id = f.customer_id
JOIN     billing.stripe.invoices3  i ON i.customer = c.stripe_id
GROUP BY c.region
ORDER BY invoiced DESC;

The three parts are connection, schema and table — and the connection name is whatever you called it. Illustrative columns; your tables will be your tables. Read-only applies to every piece: SELECT, WITH and EXPLAIN only, with a ceiling on how much any one source may hand over for a single query. How federated queries work

Connection details

What SkySQL needs

Host
dbxyz.sysp0000.db1.skysql.com — the card recognises the .skysql.com suffix
Port
Assigned per service and left blank on purpose. 3306 and 3307 both occur; copy the real one from the Connect panel
Driver
MySqlConnector in MariaDB mode, carried by the agent — nothing to install at the MariaDB Cloud end
Defaults
None prefilled. Database, username and password are all yours to supply
TLS
Controlled by the SSL checkbox, on by default — leave it on. MariaDB Cloud requires TLS at its end; the agent does not separately force it. The certificate chain is not verified
Pooling
None. There is no pooled endpoint to choose and the agent applies no pooler adaptations
Saved as
MariaDB, with MariaDB Cloud kept as a badge
Qualifier
MariaDB has no schema layer, so a federated reference carries the database name in the middle slot

The naming is worth one line because it causes real confusion when searching. SkySQL was MariaDB's managed service; it is now MariaDB Cloud. The hostnames still end in .skysql.com, documentation from either era describes the same product, and this connector covers it under either name.

The per-service port is the practical takeaway. It is a small thing, but combined with a hostname that looks nothing like the service name — dbxyz.sysp0000.db1.skysql.com is not obviously yours — the Connect panel is worth having open while you fill the card in, rather than reconstructing values from memory.

For a cross-source query MariaDB has no schema layer, so the middle slot of a reference holds the database name rather than a schema. A connection you called skysql_app reads skysql_app.shopdb.orders, and it joins to a folder of CSVs, a PostgreSQL system of record or a billing API in one read-only statement — with nothing copied and nothing scheduled.

Vendor documentation: mariadb.com

FAQ

Questions about MariaDB SkySQL

Which tools can read MariaDB SkySQL data through Query Streams?

All of them, from one connection: Excel, Google Sheets, MCP, REST API, Airtable, Baserow, SeaTable, Smartsheet, Anvil, Power BI, scheduled alerts and reports. Connect the database once and every surface reads the same read-only connection — there is no per-tool setup and no second copy of the data.

Do I have to open a firewall port to my MariaDB SkySQL database?

No. The Query Streams Network Agent runs inside your network and opens a single outbound encrypted connection. Nothing listens for inbound traffic, no VPN is required, and the database keeps its existing firewall rules.

Can Query Streams change data in MariaDB SkySQL?

No. The agent enforces read-only at the point of execution — one statement at a time, SELECT and friends only. Credentials stay on the agent and are never sent to Query Streams.

What does Query Streams need to connect to MariaDB SkySQL?

A reachable host, a role and its password — the agent carries the driver, so nothing is installed on the database. Host: dbxyz.sysp0000.db1.skysql.com — the card recognises the .skysql.com suffix. Port: Assigned per service and left blank on purpose. 3306 and 3307 both occur; copy the real one from the Connect panel. Driver: MySqlConnector in MariaDB mode, carried by the agent — nothing to install at the MariaDB Cloud end. Defaults: None prefilled. Database, username and password are all yours to supply.

Can I join MariaDB SkySQL to another database in the same query?

Yes — that is a federated query. One statement can reference MariaDB SkySQL and your other connections at once, written as connection.schema.table. Each source runs only the part it can and streams the result back; the join happens centrally, so the sources never connect to each other and nothing is copied or scheduled. Read-only applies to every piece — SELECT, WITH and EXPLAIN only — and there is a ceiling on how much any one source may hand over for a single query. Federated queries are a plan feature; the federated queries page carries the current source and size limits.

Is connecting MariaDB SkySQL different from connecting MariaDB?

Only the connection string. MariaDB SkySQL speaks the MariaDB wire protocol, so filters, scheduling, sharing, the Excel and Google Sheets add-ons and the MCP server all behave identically. The SkySQL card pre-fills the host, port and SSL settings that provider expects.

Is there a SkySQL to Excel guide?

Yes — it is the MariaDB guide, and it is correct for MariaDB SkySQL as written. SkySQL speaks the MariaDB wire protocol, so SkySQL to Excel, SkySQL to Google Sheets and every other destination follow the same steps. The only SkySQL-specific part is the connection string, and the SkySQL card fills that in for you.

Put SkySQL where the work happens

Install the agent, point it at your database, and pick a destination.

Read-only Outbound only Credentials stay on the agent