MySQL Workbench walkthrough
MySQL Workbench is a free, cross-platform graphical tool that Oracle ships to let you install, configure, design, and administer a MySQL server without memorizing command-line flags.

The current stable line, 8.0, covers the full 8.0.x series, and the same binary works against both MySQL Community Server and the 10.6 and 10.11 series of MariaDB. It bundles a schema modeler, an EER diagram editor, a visual SQL query window, and a server administration panel, which is why it doubles as the official installer for the database on Windows and macOS.
For the people who will read this page, the honest framing is that Workbench is the front door to MySQL in practice: the same package that hands you the GUI also lays down the server, the users, and the default ports. The rest of the stack splits cleanly into two questions, which the following pages answer separately: Choosing between MySQL and PostgreSQL when you have not picked a database yet, and Installing MySQL on a headless box where a GUI earns no keep. There is also a historical reason the tool feels at home on Linux but is most often installed on Windows: the server was born inside a Unix culture where every task had a command, and Workbench is Oracle's concession that desktop developers expect a window, not a shell.
Is MySQL Workbench free and what does it bundle
Yes, MySQL Workbench is free under the GNU General Public License, version 2, and the download is the same file whether you intend to run it against the community edition or the enterprise edition. Oracle publishes two editions of the server itself: the community edition, which is free to run and free to download, and the enterprise edition, which costs money but ships with support, clustering, and the audit plugin. Workbench does not care which one it points at, and it does not require the server to be present at all. One download covers Windows (an installer and a zip), macOS (a disk image and an arm64 build), and most Linux distributions (rpm, deb, and source tarball), and the 64-bit Windows installer alone is around 320 MB. The package includes the schema modeler, the performance schema viewer, the data import and export tools, and the SQL editor with syntax highlighting and autocompletion, which is the complete toolset rather than a trimmed trial.
What it does not bundle
Workbench does not include a database engine for every vendor. It ships with the MySQL Community Server installer, so on a clean machine the setup wizard will offer to install MySQL 8.0 alongside the GUI in one pass, and that is the fastest path from zero to a running server on Windows. It does not bundle PostgreSQL, and it cannot open a PostgreSQL catalog at all, because the query layer speaks the MySQL protocol. It does connect to MariaDB, which is a drop-in fork of the MySQL protocol, so a MariaDB 10.6 or 10.11 instance behaves like a MySQL server to the workbench. The rule of thumb: the tool is MySQL-specific on the protocol, vendor-neutral on the edition, and Windows-and-macOS-specific on the installer experience.
How MySQL Workbench actually works
Under the hood, MySQL Workbench is a Qt application that holds a long-lived connection to a MySQL server over the native protocol, which by default listens on port 3306 over localhost. The query window you see is a thin layer over that connection: you type a statement, it is sent to the server, and the results come back as a grid that you can filter, sort, and export. The EER modeler works in the opposite direction. You draw entities and relationships on a canvas, the modeler generates the DDL for you, and the Forward Engineer script sends that DDL to the server to create or synchronize the schema. Every visual change is, at the bottom, a SQL statement that you can inspect before it runs, which is why experienced users keep the SQL tab open at all times. The performance schema panel is the part that surprises new users: it reads the server's own performance_schema tables and renders CPU, memory, and I/O as live charts, so the workbench doubles as a lightweight monitoring console. None of these features require a plugin or a paid tier, and the architecture is the same in the community and enterprise builds.
The connection layer
A connection in Workbench is a named profile that stores the host, the port, the username, and the authentication method. You create one profile per environment, so a local development profile points at localhost on 3306, a staging profile points at a VPS on 3306, and a production profile points at a managed instance on a non-default port. The profile also stores whether the connection is SSH-tunneled, which matters the moment the server is not on the same machine as the workbench. The workbench does not embed a database engine; it is a client that talks to a running server. If the server is not running, the query window returns a connection-refused error, and the schema modeler refuses to forward-engineer. That separation is the single most important fact about how the tool works, and it explains most of the failure modes described in the next section.
Download and first launch on Windows and macOS
To download MySQL Workbench, go to the Oracle download page for MySQL 8.0 and select the platform package: the .msi installer on Windows, the .dmg on Intel macOS, or the arm64 build on Apple Silicon. The Windows installer runs a 4-step wizard that lets you choose whether to install the server alongside the GUI, which is the option you want on a fresh machine, because it lays down MySQL 8.0 with the default port 3306 and a root user you set during the install. On macOS the .dmg is drag-and-drop, and you then open the application from Applications, which triggers a Gatekeeper prompt on the first run because Oracle does not notarize every build. On Linux you install the rpm or deb package for the workbench and the separate server package, and the two are independent: you can install the workbench without the server, or the server without the workbench. The first-launch screen asks you to create a connection; the default template points at localhost:3306, and if you used the Windows installer's server option, that connection works immediately. If you installed the server separately, you confirm the username and password you chose, and the connection test at the bottom of the dialog should return green before you click OK.
When MySQL Workbench will not open
If MySQL Workbench will not open, the cause is almost always one of three things, and the fix is to work through them in order. First, the server is not running, so the workbench launches, tries the saved connection, fails, and on some builds closes the query window without an obvious error; the fix is to start the service, which on Windows is the MySQL80 service in the Services console and on macOS is the mysqld process you start with the brew services command. Second, a version mismatch between the workbench binary and the server: a workbench built for MySQL 5.7 can open a connection to an 8.0 server, but the authentication plugin changed from mysql_native_password to caching_sha2_password in 8.0, and an older client that only speaks the old plugin will hang on connect; the fix is to upgrade the workbench to the same major line as the server. Third, a corrupted configuration file in the user profile, which on Windows is under the user's AppData folder and on macOS under the Library/Preferences directory; the fix is to rename that file and let the workbench regenerate it on the next launch. If none of those three apply, the application log under the same profile directory will name the failing module, and that is the line to search for, because the log is far more specific than the error dialog.
Core GUI workflows after setup
Once a connection is live, three workflows cover most day-to-day work, and each one maps to a tab in the main window. The query window is where you write and run SQL; the toolbar at the top has execute, execute script, and save, and the results grid below supports filtering and CSV export. The EER modeler tab is where you design the schema visually: you add an entity, give it a name and columns, draw the relationship lines, and then run Forward Engineer to push the DDL to the server, or Reverse Engineer to pull the existing schema back into the diagram. The administration panel is where you manage users, privileges, the character set, the port, and the log file locations, and it writes those changes as configuration edits to the server's my.cnf or my.ini file. For data movement, the workbench has a data import wizard that reads a CSV or an SQL dump and a data export that produces a dump in the same format the command-line mysql client uses, so the two tools are interchangeable for backup and restore. The performance schema tab completes the set by giving you live charts of query throughput, buffer pool hit rate, and connection count, which is enough to spot a runaway query without opening a second monitoring tool.
Efficiency tips for the query window
Three habits make the workbench genuinely faster rather than just convenient. Use the saved-connection profile per environment instead of re-typing credentials, which removes the most common cause of a slow start. Enable the autocommit toggle only when you are running a single statement, because with autocommit off the workbench batches your statements into an implicit transaction and the Execute Script button commits them all at once, which is the behavior you want for a schema change and the behavior you do not want for an exploratory SELECT. And keep the SQL tab visible in the modeler at all times, because the generated DDL is the artifact you review before it touches the server, and a 30-second read of that script catches a dropped column or a wrong foreign key before it becomes a data-loss event.
MySQL versus Microsoft SQL Server
MySQL Workbench is not a substitute for SQL Server Management Studio, and the two tools do not overlap on the protocol layer. MySQL speaks the MySQL protocol on port 3306, and Microsoft SQL Server speaks TDS on port 1433, so a MySQL client cannot open a SQL Server catalog and a SQL Server client cannot open a MySQL one. The honest comparison is at the database level, not the tooling level, and it comes down to ecosystem fit: MySQL is the default choice when the stack is LAMP or when you are running on a Linux server with a PHP application, because it is free, it is in the default package repository on every major distribution, and the community edition carries no license cost. Microsoft SQL Server is the default choice when the stack is .NET on Windows, because the authentication integrates with Active Directory, the T-SQL dialect is richer for stored procedures and window functions, and the enterprise edition includes always-on availability groups. For a solo developer or a small team on a budget, MySQL with Workbench is the lower-friction path, and the 0 license cost on the community edition is the number that usually ends the discussion. For an enterprise that already runs Active Directory and .NET, SQL Server is the lower-friction path, and the tooling comparison becomes irrelevant because the choice was made by the platform before the database question arose.
Does MySQL Workbench have dark mode
Yes, and it has been available since the 8.0 line. Open the Edit menu, choose Preferences, and under the Appearance section you can set the color scheme to a dark theme, which changes the query editor, the schema canvas, and the results grid to a low-contrast palette. The dark theme is a single setting, not a per-window toggle, so it applies to the entire application at once, and the setting persists across sessions in the same configuration file that stores your connections. There is no light/dark auto-switch tied to the system theme; the workbench reads its own preference, not the OS one. If the menu item is greyed out, the configuration file is in a read-only state, which happens when the workbench is running under a service account on Windows rather than your user profile, and the fix is to run the application as your own user.