---
title: "The MySQL Client for Mac That Shows Where the Time Goes"
description: "Browse, edit and query MySQL in a native Mac app, see the statements MySQL spends its time on and what's wrong with them, and let Claude Code, Codex or Cursor work on the database without a free hand on production."
canonical_url: "https://tablestudio.sh/databases/mysql"
---

> Index of every page on this site: [llms.txt](https://tablestudio.sh/llms.txt)

TableStudio is a native Mac client for MySQL. It shows you where MySQL spends its time and why. It catches the settings and schema choices that cause trouble later, like a non-InnoDB table, a legacy character set or a `TIMESTAMP` that stops in 2038. It runs MySQL on your Mac, and lets coding agents like Claude Code, Codex and Cursor in under rules TableStudio enforces itself.

<lead-feature icon="i-ph-chart-bar" title="See what MySQL spends its time on">

**Query Insights** reads `performance_schema` and ranks the statements MySQL runs by total time, average time, calls or rows. For each one it reads the plan and explains what's wrong, in MySQL's own terms.

It catches full scans. It catches joins that compare columns of different types or collations, which can't use an index. It catches an `ENUM` compared with a number, a `REPLACE` that deletes the old row before inserting, and an `ON DUPLICATE KEY UPDATE` on a table with several unique keys. Then it tells you the fix.

</lead-feature>

<feature-cards description="Built around InnoDB, performance_schema and the mistakes MySQL lets you make." title="What TableStudio does for MySQL">
<feature-card icon="i-ph-shield-check" title="Coding agents on MySQL">

- Reads run in a read-only session with a 30-second limit.
- `INTO OUTFILE` and other statements with side effects are refused.
- Writes can be dry-run against the real rows; production changes wait for your review and Touch ID.
- Every AI change can be undone, and the plugin stops `mysql`, Prisma and Rails from writing to production from the terminal.
- An agent can't flip a production server to development or switch off read-only without your Touch ID.

</feature-card>

<feature-card icon="i-ph-plugs-connected" title="Connect">

- Paste a `mysql://` URL into Host and every field fills itself.
- PlanetScale, Amazon RDS, Railway, DigitalOcean, Aiven and Azure, directly, over SSH or with SSL.
- Link your PlanetScale account and its tools work next to TableStudio's.
- Pick up the MySQL servers Homebrew set up, or the databases in your projects' `.env` files.

</feature-card>

<feature-card icon="i-ph-wrench" title="Schema mistakes, caught early">

- Tables not on InnoDB, with the conversion ready to review.
- Columns in a legacy character set, with the move to `utf8mb4`, and collations that differ from the column they join to.
- UUID strings as the primary key, money stored as `FLOAT`, and `TIMESTAMP` columns that can't go past January 2038.
- Duplicate, redundant, never-used and forgotten invisible indexes, and tables carrying more index than data.

</feature-card>

<feature-card icon="i-ph-heartbeat" title="Server settings that bite">

- Binary logging off, not synced on every commit, never purged, or logging statements instead of rows.
- Strict mode off, so bad values are silently truncated.
- A replica that accepts writes or skips replication errors.
- The query cache or general query log left on, and `LOAD DATA LOCAL` allowed.
- Temporary tables spilling to disk, deadlocks per hour, and auto-increment columns running out of values.

</feature-card>

<feature-card icon="i-ph-eye-slash" title="Indexes you can test">

- Make an index invisible to the optimizer and watch what slows down before you drop it.
- Drop the duplicate or redundant ones with the SQL in front of you.

</feature-card>

<feature-card icon="i-ph-table" title="Rows and results">

- `ENUM` and `SET` columns become dropdowns of their allowed values.
- Hover a foreign key to preview the referenced row.
- Edit several rows, review the pending changes, and commit them together.
- Import CSV or TSV, export to CSV, TSV, JSON, SQL, Markdown or Excel, and generate fake rows that respect foreign keys.

</feature-card>

<feature-card icon="i-ph-code" title="SQL">

- Autocomplete that knows your databases, tables and columns.
- Plans from `EXPLAIN FORMAT=JSON` drawn as a tree.
- AI that writes MySQL, not generic SQL, and fixes the error a query just threw.
- Jump into the `mysql` command-line client, already connected.

</feature-card>

<feature-card icon="i-ph-squares-four" title="Dashboard">

- MySQL's own widget packs: server health, storage, and row counts with the storage-engine breakdown.
- Your own widgets in SQL, from a single number to a chart.

</feature-card>

<feature-card icon="i-ph-clock-counter-clockwise" title="Backups and moves">

- `mysqldump` backups to your Mac or S3, restore points, and sandbox copies.
- Move to another host, or to Postgres, with a pre-flight report.
- Create, start and stop local MySQL servers, and share one through a Cloudflare Tunnel.

</feature-card>
</feature-cards>

## Connecting to PlanetScale and RDS

**PlanetScale:** create a password for your branch, copy the connection string it gives you, and paste it into Host. Linking your PlanetScale account adds PlanetScale's own tools next to TableStudio's.

**Amazon RDS:** import your RDS instances and add the MySQL ones in one step.

**Local MySQL:** if Homebrew already runs MySQL on your Mac, **Import Local Databases** finds it and leaves its data alone.

## Sitemap

See the full [sitemap](https://tablestudio.sh/sitemap.md) for all pages.
