MysqlDesk app icon

Your databases.
One fast window.

MysqlDesk is a fast, native MySQL client for macOS. Keep every server in one sidebar, run queries in tabs you can point anywhere, and edit results with a preview before anything is saved. It's free and open source.

Free & open sourcemacOS 14 or laterApple Silicon & IntelMySQL & MariaDB

MysqlDesk with a query tab open: the sidebar lists a connected server's schemas and tables, the editor shows a highlighted SQL query, and the results grid below lists this week's orders.

Features

The parts of Workbench you use, without the rest

Your servers and their tables on the left, your query and its results on the right. It looks and works like its companion app, GitDesk.

All your servers

Add each MySQL or MariaDB server once, test the connection, and colour-code production so it stands out.

Passwords in Keychain

Passwords live in your macOS Keychain, never in MysqlDesk's files. TLS is used whenever the server offers it.

Just the tables

The sidebar shows each server's schemas and their tables, with no clutter. Press ⌘P and type to jump to any table on any connected server.

Tabs that travel

Each tab has its own connection. Switch a tab to another server or schema and your query stays exactly where it is.

Edit results safely

Double-click a cell to change it, with drop-downs for ENUMs. Preview the UPDATE before it runs, or revert in one click.

Find a column

Tables with hundreds of columns? Press ⌘B, type part of a name, and only matching columns stay on screen.

Favourites & history

Save queries you run often against their server with ⌘S. Every query you run is kept in History too.

Export anything

Save a whole result, or just the rows you've selected, as CSV, JSON or SQL INSERT statements.

An orders table in the results grid with two changed cells highlighted in orange, and a bar at the bottom reading “2 unsaved changes” with Revert and Apply buttons.

Editing

Change data where you see it

Double-click a cell, type, and press Return. Every change stays highlighted until you choose to save it.

  • ENUM columns show a drop-down of their allowed values.
  • Long text and JSON open in a larger editor. Right-click to set a value to NULL.
  • Revert drops every unsaved change, so nothing is final until you click Apply.
The Apply preview dialog listing the UPDATE statements that will run, with Copy SQL, Cancel and Apply Changes buttons.

Apply with confidence

See the SQL before it runs

Apply shows you the exact UPDATE statements first. They run together in one transaction, so either every change is saved or none is.

  • Matched on the primary key, one row per statement, with LIMIT 1.
  • Read-only where it should be: joins, calculated columns and tables without a key can't be edited by mistake.
  • Copy the SQL if you'd rather run it somewhere else.
A products table with 25 columns filtered by the column search to show only the five price columns.

Column search

Wide tables, made narrow

Press ⌘B and type part of a column name. Everything else is hidden until you clear the search.

  • Built for big tables: the grid stays fast with hundreds of columns and thousands of rows.
  • Click a header to sort, double-click a cell to edit, or right-click to copy and export.
The Manage Connections dialog: a list of connections on the left and the selected connection's name, colour, host, port, user, Keychain password and TLS setting on the right, with New, Delete, Duplicate, Move Up, Move Down and Test Connection buttons.

Connections

Set up once, connect with a double-click

Manage every server in one window, then pick one from the home screen or the sidebar.

  • Test Connection checks your settings before you save them.
  • Works with MySQL 5.7 to 8.4 and MariaDB, including MySQL 8's default login, with or without TLS.
  • Nothing else to install: there's no MySQL client or library to set up.

Keyboard shortcuts

Built for the keyboard

If you know SQLPro for MySQL, you already know these.

Run all (or the selection)⇧⌘E
Run the current statement⌘↩
Stop the running query⌘.
Format query⇧⌘K
Comment / uncomment⌘-
Uppercase / lowercase⌃⌘U ⌃⌘L
Find column⌘B
Hide / show results⌘K
Results / messages⇧⌘M
Copy rows as CSV⌥⌘C
Export as CSV⌥⌘E
Save favourite / as new⌘S ⇧⌘S
Manage connections⇧⌘C
Choose server & schema⌥⌘D
Database tree / filter⌃D ⌃F
New tab / close tab⌘T ⌘W
Previous / next tab⇧⌘[ ⇧⌘]
Go to tab⌘1–9
Find any table (command palette)⌘P
Refresh / home⌘R ⌘0

Install

Up and running in a minute

Download

Get MysqlDesk.dmg, the latest version. Older versions are on the releases page.

Drag to Applications

Open the DMG and drag MysqlDesk onto the Applications folder.

Add a server

Launch MysqlDesk, press ⇧⌘C, add your server and click Test Connection. Then double-click it to connect.

First launch: MysqlDesk isn't notarised by Apple yet, so macOS will say it can't verify the developer. Open System Settings → Privacy & Security, scroll down and click Open Anyway. Or run xattr -dr com.apple.quarantine /Applications/MysqlDesk.app in Terminal. You only need to do this once.
Keychain: the first time MysqlDesk reads a saved password, macOS asks for permission. Click Always Allow. You may be asked again after installing a new version.
macOS 14 Sonoma or later Apple Silicon or Intel MySQL 5.7–8.4 or MariaDB 10.x Nothing else to install

Give MysqlDesk a try

It's free and open source. If you use Git too, try its companion app, GitDesk.