HeidiSQL · macOS · MySQL · GUI

HeidiSQL on Mac: what to use instead

pimvdmolen.nl · · ~6 min read

HeidiSQL is the free Windows GUI many shops standardize on for MySQL and MariaDB. You type "HeidiSQL Mac" when that Session manager has to live on a MacBook: an official Apple Silicon zip exists, Intel Macs get no package, Wine is documented as unstable, and Microsoft SQL Server is compiled out of the macOS build.

What ships for macOS, and what does not

Windows HeidiSQL is the complete product. It is GNU GPL, built with Delphi, and it talks to MySQL, MariaDB, PostgreSQL, SQLite, Microsoft SQL Server, Interbase, Firebird, and more. Linux uses a Lazarus build. The Mac download is a heidisql_*_macos_app.zip for ARM only. HeidiSQL's help page states it does not run on Intel-based Macs.

Chip check is one menu. Open Apple menu, About This Mac, and read the chip line. Apple M1 through M4 (and newer) can try the zip. Intel iMacs and Intel MacBook Pros cannot. There is no official x86_64 app.

The ARM app is not the Windows session manager with a new icon. It is an early native bundle: HeidiSQL's layout, MySQL and MariaDB connectivity, and a thinner Network type list. Microsoft SQL Server is disabled at compile time on Darwin. Use the zip if you want HeidiSQL's session folders on an M-series Mac. Do not expect feature parity with HeidiSQL_*_Setup.exe.

Try the ARM zip before you install Wine

  1. Download the macOS zip from heidisql.com/download.php.
  2. Unzip it and open the .app. If macOS refuses to launch it, allow the app in System Settings > Privacy & Security.
  3. In Session manager, click New. On the Settings tab set Hostname 127.0.0.1, User, Password, and Port 3306 for local MySQL or MariaDB.
  4. Click Open. A missing client library error means the Windows installer is not there to bundle libmysql or libmariadb. Switch clients instead of debugging Lazarus dylib paths.
  5. Need SQL Server on this Mac? Close HeidiSQL. The macOS compile enables MSSQL only on Windows and Linux.

Local Docker and Laravel Herd should be reached as TCP, not as a Windows named pipe. Host 127.0.0.1 and the published port (often 3306, sometimes 3307) match what mysql -h 127.0.0.1 uses in Terminal.

Wine is a lab, not a workstation

HeidiSQL's help file says running on Wine is currently quite unstable, and it points Linux users at the native build instead. On macOS there is no matching native Intel build. CrossOver, Whisky, and a Windows VM can start heidisql.exe, then fail on libmysql.dll, High DPI scaling, and plink.exe SSH that ignore ~/.ssh/id_ed25519.

A VM is justified when you must keep existing Windows session files and SQL Server in one window. For MySQL 8.4 on 127.0.0.1:3306, a native Mac GUI opens faster.

Free native stand-ins for the MySQL workflow

Criterion HeidiSQL (Windows) HeidiSQL (macOS zip) Sequel Ace DBeaver Community TabulaSQL
License GPL, $0 GPL, $0 MIT, $0 Apache 2.0, $0 MIT, $0
OS Windows Apple Silicon only macOS only Windows, macOS, Linux macOS, Windows, Linux
MySQL / MariaDB Yes Yes Yes Yes (JDBC) Yes
PostgreSQL / SQLite Yes Yes No Yes Yes
Microsoft SQL Server Yes No No Yes (JDBC) No
SSH tunnel plink or OpenSSH Present, thinner testing In-app, sandbox limits In-app, jump hosts In-app key or password
Intel Mac Native No Yes Yes Yes

Sequel Ace is the Cocoa path if you only ever use a Mac and you already like Sequel Pro. Sandbox limits on sockets and SSH are covered in Sequel Ace alternative for MySQL on Mac. DBeaver Community is the Java workbench when you also open SQL Server: see DBeaver Community vs a lighter MySQL GUI. TabulaSQL is a free MIT desktop client for MySQL, MariaDB, PostgreSQL, and SQLite on macOS, Windows, and Linux. Deepest schema tools (indexes, foreign keys, routines, user manager) sit on MySQL and MariaDB. Screenshots of that UI are on /features.

Choose on license, OS, and engines. Star ratings on download sites are not a criterion.

Recreate a HeidiSQL session in TabulaSQL

HeidiSQL keeps host details on two tabs. Copy them before you install anything else.

On Settings, write down Hostname/IP, User, Password, Port (3306 for the MySQL protocol), and any Database(s) filter. On SSH tunnel, write down SSH Host, SSH Port (22), Username, and whether you used a key or a password. HeidiSQL's docs warn you to put 127.0.0.1 on Settings when you tunnel, and the bastion hostname on the SSH tab. Using the public server IP on both tabs yields Lost connection to MySQL server at 'reading initial communication packet'.

  1. Install TabulaSQL from https://tabulasql.com/download. Choose the Apple Silicon or Intel .dmg. If Gatekeeper blocks the first launch, right-click the app and choose Open.
  2. Click New Connection. Pick the MySQL/MariaDB driver for the same server HeidiSQL opened as MySQL or MariaDB.
  3. Set host and port from the Settings tab. For a laptop-local server use 127.0.0.1 and 3306 (or the Docker published port). Paste the same username and password.
  4. If the HeidiSQL SSH tunnel tab was enabled, turn SSH on. Bastion host, port 22, SSH user, then a key file or password. Leave the MySQL host at 127.0.0.1 when the server listens on the far side of the tunnel. TabulaSQL does not use plink.exe.
  5. Click Test connection. Error 1045 is a MySQL user/host mismatch ('root'@'127.0.0.1' versus 'root'@'localhost'). Error 2002 means nothing is listening on that TCP port. Error 2003 is often a dead tunnel.
  6. Open a table, edit one cell, enable Safe Lock, and confirm the UPDATE SQL. HeidiSQL applies grid edits in its own dialogs. Safe Lock is the write preview you get here.

Saved connections stay encrypted on disk. Export a .dbmconn file when you set up a second machine. There is no HeidiSQL session importer.

PostgreSQL in HeidiSQL used port 5432 and a different Network type. In TabulaSQL, pick the PostgreSQL driver and keep 5432. SQLite is a file path, not a host, and SSH is not available for SQLite files.

When the Windows build is still the right HeidiSQL

Keep HeidiSQL on Windows (or in a VM) when Microsoft SQL Server, Interbase, Firebird, ProxySQL, or Redshift is why you opened it. None of those are TabulaSQL drivers. The Mac zip also drops SQL Server.

For MySQL and MariaDB on a Mac, prefer a native GUI over Wine. If you also carry a Linux laptop, a cross-platform MIT client avoids three session files. TCP setup for local servers is in How to connect to MySQL on Mac. SSH field mapping for other tools is in MySQL GUI with SSH tunnel.

Frequently asked questions

Official macOS builds exist for Apple Silicon (ARM) only. Intel Macs have no official app. Wine is documented as unstable. Use a native GUI if you need a daily MySQL client.

You can try, but HeidiSQL's own help says Wine is quite unstable. A native client is the reliable path for MySQL and MariaDB. Keep a Windows VM only if you must reuse existing HeidiSQL session files or Microsoft SQL Server.

TabulaSQL is one MIT-licensed option for MySQL, MariaDB, PostgreSQL, and SQLite on macOS, Windows, and Linux. Sequel Ace is Mac-only. DBeaver Community is the Java multi-engine workbench, including SQL Server over JDBC.