MySQL and MariaDB client for Mac, iPhone and iPad
Write SQL with schema-aware autocomplete, edit rows with a preview of every statement, and manage users, sessions and backups. The same driver also covers MariaDB, TiDB, OceanBase and Databend.
Works on Mac, iPhone and iPadDriver comes with the Mac app
Free to use, with optional paid plansOpen source (AGPL-3.0)
At a glance
- Query language
- SQL
- Driver
- Comes with the Mac appShared with MariaDB, TiDB, OceanBase and Databend
- Connect with
- Host and port, SSH tunnel, SSL/TLS, AWS IAM, Cloud SQL Auth Proxy
- Default port
- 3306
- Minimum version
- 5.7
- iPhone and iPad
- Opens


Connect
Give TablePro a host, a port and a user, or paste a mysql:// URL. MySQL 8 accounts that use caching_sha2_password connect on the first try. Leave the database empty and choose one later: switching databases happens in place, on the same connection.
New connections start with SSL set to Preferred, which tries TLS first and falls back to plain text only after a failed TLS handshake. Choose Verify CA or Verify Identity with your provider’s certificate for strict checking.
For a server on a private network, connect through an SSH tunnel, with jump hosts if you need them, a SOCKS5 proxy, a Cloudflare Access tunnel or your own tunnel command such as kubectl port-forward.
On Amazon RDS and Aurora, sign in with AWS IAM, which signs a fresh token each time you connect, and import instances straight from your AWS account. For Google Cloud SQL, TablePro downloads and runs the Cloud SQL Auth Proxy for you.
Moving from Sequel Ace? Import from Other App reads its favorites and, after you confirm, the passwords it keeps in the Keychain.
Query and edit
The SQL editor completes table and column names from the schema, aliases and CTEs included, and runs either the statement under the cursor or the whole script. EXPLAIN FORMAT=JSON, EXPLAIN FORMAT=TREE and EXPLAIN ANALYZE are drawn as a plan diagram or tree, and EXPLAIN Compare shows what changed between two runs.
Row edits are staged until you save, and Preview SQL shows the exact statements first. Saves run as bound parameters and stop if a statement would change a different number of rows than expected. A table without a primary key can still be edited: the row is matched on every column.
Every session uses utf8mb4, so emoji and non-Latin text round-trip. For a database whose text an old client wrote through Latin 1, the UTF-8 via Latin 1 encoding reads it the way that client did.
Partitioned tables list their partitions with their bounds, such as VALUES LESS THAN (2024), and table and column comments show in the sidebar and in the grid’s column headers.
Schema
The Structure tab stages changes to columns, indexes, foreign keys, CHECK constraints and generated columns, and shows the DDL before it runs. Index keys over an expression, such as lower(email), need MySQL 8.0.13 or later.
Routines and triggers appear in the sidebar with their source. The ER diagram draws the schema as a read-only picture you can export as PNG or SQL.
Compare & Sync, part of the Starter plan, compares two MySQL or MariaDB schemas, or their data, and writes the script that brings one in line with the other. Changes that would lose data are held back until you include them.
Administer
Users & Roles shows each account’s privileges down to single columns, and stages every GRANT and REVOKE as SQL you read before it runs.
The Server Dashboard lists sessions, server metrics and slow queries, refreshed every few seconds. It cancels a running query with KILL QUERY or ends a session with KILL. An account without the PROCESS privilege sees only its own sessions.
Table maintenance runs OPTIMIZE TABLE, ANALYZE TABLE, CHECK TABLE and REPAIR TABLE, and shows the statement before it runs.
Backup Dump runs mysqldump and Restore Dump runs the mysql client, both through the connection’s SSH tunnel; install the MySQL client tools on your Mac first. A restore replaces the objects the dump names.
To give a server slot back while you are away, set a connection to release itself after some idle minutes; the next query opens a new one. TablePro keeps the connection when the session holds something a reconnect would lose, such as an open transaction or a temporary table.


Move data
Import CSV, TSV, JSON, JSONL, XLSX and SQL files, with column mapping for the table you load into and a choice of what happens when a row fails. Export a table or a result as CSV, JSON, SQL, XLSX, Markdown, HTML and XML.
Copy To sends tables, their data or both to another connection, on MySQL or on a different engine, and lists every column type it has to approximate.
iPhone and iPad
MySQL is offered when you create a connection in the iPhone and iPad app, and the app connects to it directly.
On iPhone and iPad, you browse tables as cards, filter and sort them, edit rows that have a primary key and run SQL in the Query tab. Connections offer SSL from Required to Verify Identity, and SSH tunnels with a password or a key. SSH jump hosts are not supported there.

Limits
- Connections use a host and port over TCP. A local Unix socket is not supported.
- The driver refuses LOAD DATA LOCAL INFILE. Load a file with Import instead.
MariaDB
Default port 3306Comes with the Mac appiPhone and iPad: OpensMinimum version: 10.x
MariaDB connects through the same driver as MySQL, with the same SSH, SSL/TLS and AWS IAM options. A mariadb:// URL creates a MariaDB connection.
JSON columns, which MariaDB stores as LONGTEXT, open in the JSON editor. Virtual and persistent columns are detected and left out of generated INSERT and UPDATE statements. Sequences are listed in the sidebar, read-only, and a system-versioned table is listed as an ordinary table.
Users & Roles, the Server Dashboard, table maintenance and mysqldump backups work as they do on MySQL.
MariaDB limits
- Cloud SQL Auth Proxy is not offered for MariaDB. Reach a private server through an SSH tunnel.
- Users & Roles lists MariaDB roles as users. Create and grant roles with SQL in the editor.
TiDB
Default port 4000Comes with the Mac appiPhone and iPad: OpensMinimum version: None
Point the connection at a TiDB server’s SQL port, never at PD or TiKV. TiDB Cloud uses the same port; set SSL Mode to Required there.
Stop sends KILL TIDB QUERY for your own session. Behind TiProxy or a load balancer, that needs Global Kill, which TiDB turns on by default since version 6.1.
EXPLAIN and EXPLAIN ANALYZE show TiDB’s plan as text. CHECK constraints appear in the Structure tab on TiDB 7.2 and later when the cluster enables them, foreign keys can be created, and table maintenance offers ANALYZE TABLE. Users & Roles works on TiDB, without the connection limit field.
Choose TiDB as the connection type rather than MySQL, so the sidebar, the type picker and EXPLAIN follow TiDB.
TiDB limits
- No triggers, stored routines or events.
- No Server Dashboard and no Backup Dump. Export with TiDB’s Dumpling instead.
- Compare & Sync writes structure scripts between TiDB databases only, not between TiDB and MySQL or MariaDB.
OceanBase
Default port 2881Comes with the Mac appiPhone and iPad: OpensMinimum version: None
Put the tenant in the user name: root@test on an observer, or root@test#obcluster through OBProxy, which listens on port 2883.
Connecting checks that the server reports itself as OceanBase, so a wrong host or port fails at once. TablePro’s query timeout replaces OceanBase’s own statement limit.
EXPLAIN shows the plan as text. A table without a primary key is edited by matching every column, and a save that would change more than one row, or none, stops and says so.
Choose OceanBase as the connection type: a connection saved as MySQL that reaches OceanBase gets none of this.
OceanBase limits
- Only MySQL-mode tenants connect. Oracle-mode tenants are refused.
- No Server Dashboard and no Backup Dump.
- Compare & Sync writes structure scripts between OceanBase databases only, not between OceanBase and MySQL or MariaDB.
Databend
Default port 3307Comes with the Mac appiPhone and iPad: Does not openMinimum version: None
Databend connects through its MySQL handler, not its HTTP API. Choose Databend as the connection type; a MySQL connection that reaches a Databend server is refused and asks you to change the type.
On Databend Cloud, ask Databend support to turn on the warehouse’s MySQL endpoint, then copy the host and port from its Connect dialog.
The Structure tab edits columns and CHECK constraints and renames tables, views and columns. EXPLAIN and EXPLAIN ANALYZE show the plan as text, and table maintenance offers ANALYZE TABLE.
ARRAY, MAP and TUPLE cells cannot be written from text. Change them with an UPDATE in the editor.
Databend limits
- Databend has no indexes, primary keys or foreign keys, so a row edit matches on every column, and a save that would change more than one row is refused.
- Compare & Sync is not available.
- No URL scheme opens a Databend connection. Create it in the connection form.
- Not available on iPhone and iPad.
Other tools
Sequel Ace
Version 6.0.2, released October 4, 2026FreeOpen source (MIT)Platforms: Mac
Sequel Ace continues Sequel Pro as a Mac app for MySQL and MariaDB. It has an MCP server that is off by default and read-only unless you change it, and no AI chat. It fits if MySQL and MariaDB are all you use.
Sources: Sequel Ace repository, Sequel Ace releases, Sequel Ace MCP server, Sequel Ace, Migrating from Sequel Pro
MySQL Workbench
Version 26.7, released September 10, 2026FreeOpen source (GPL-2.0)Platforms: Mac, Windows and Linux
MySQL Workbench is Oracle’s own tool for MySQL. Its new generation is built on MySQL Shell, with SQL notebooks, and Oracle no longer maintains the previous one. It fits if MySQL is all you use and you want the vendor’s tool.
Sources: MySQL Workbench, MySQL Workbench downloads, Introducing MySQL Workbench 26, MySQL Workbench 8.0 release notes, MySQL Workbench administration
phpMyAdmin
Version 5.2.3, released October 8, 2025FreeOpen source (GPL-2.0)Platforms: Web
phpMyAdmin runs on your web server and works in any browser, and cPanel includes it. It fits a server you reach only through a hosting panel, where a desktop app has no route to the database.
Sources: phpMyAdmin, phpMyAdmin downloads, phpMyAdmin repository, phpMyAdmin in cPanel, phpMyAdmin installation and hardening, Adminer
HeidiSQL
Version 12.21, released August 3, 2026FreeOpen source (GPL-2.0)Platforms: Windows, Linux and Mac
HeidiSQL is a long-standing open-source client from Windows that now also ships a macOS app. It fits if you already use it on Windows and want the same client on your Mac.
Sources: HeidiSQL, HeidiSQL download, HeidiSQL repository, HeidiSQL releases
More comparisons
Facts about other tools checked October 8, 2026.
Questions about MySQL
Can TablePro connect through a local MySQL socket?
No. Connections use TCP, so the server needs networking turned on. To reach a socket on a remote server, forward it through an SSH tunnel.
Do I need the MySQL client tools installed?
Only for Backup Dump and Restore Dump, which run mysqldump and mysql. Connecting, querying and editing use the driver that comes with the app.
Can I design a schema in the ER diagram?
No. The ER diagram is a read-only picture of the schema that you can export. Change tables in the Structure tab or with SQL.
Get TablePro
Requires macOS 13 Ventura or later