If you use MySQL, you don't need to go looking for an ERD tool. The official client, MySQL Workbench, ships with an EER diagram feature, and extracting an ERD from an existing database takes a few clicks.
This guide walks through the whole process: what EER actually means, reverse engineering a live database (or a DDL script) into a diagram, tidying it up, and exporting it as an image. At the end, we draw the line between what Workbench handles well and where another tool takes over. It's the companion piece to our DBeaver guide.
EER diagram vs ER diagram: what's the difference?
Workbench menus say "EER Diagram" everywhere, which trips people up on day one. The short answer: there is no practical difference from a regular ERD. EER stands for Enhanced Entity-Relationship, an academic extension of the basic ER model, and Workbench adopted the term as its feature name.
So there's no need to wonder whether you want an "eer diagram" or an "erd" — inside Workbench, they're the same artifact. This article uses the two terms interchangeably.
Reverse engineer an existing database into an ERD
If the database already exists, you don't draw the diagram — you read it in. The steps:
- Open Database → Reverse Engineer (Ctrl+R). A wizard starts.
- Pick the connection. Choose a stored MySQL connection or enter one.
- Select the schema. Check the schema you want to diagram from the list on the server.
- Choose the objects. Midway through the wizard you select which tables and views to import — everything, or just the ones you need.
- Finish the wizard and the EER diagram builds itself, tables, columns and FK lines read straight from the schema. Reading the crow's foot symbols on those lines is covered in the ERD notation guide.
Can't connect to the database from your machine? There's another way in: the same family of menus can build a model from a SQL script file (DDL), so a file exported with mysqldump is enough. The commands for extracting DDL are collected in step 1 of SQL to ERD.
Tidying the diagram
If the initial layout isn't readable, you can fix it by hand: drag tables around and zoom until the structure reads well.
With many tables, the Layer feature earns its keep. It draws a large colored region on the canvas that groups related tables, so separating, say, the member domain from the order domain by color helps a newcomer parse the structure quickly.
Text objects let you leave notes on the diagram itself. The official documentation suggests them for titles and descriptions when you plan to export the diagram as a PDF or PNG.
Export the EER diagram as PNG or SVG
A finished diagram exports from File → Export. Per the official documentation, PNG, SVG, PDF and PostScript are supported. PNG is fine for meeting docs and wikis; pick SVG or PDF when the image needs to scale or print.
The model itself is saved as a .mwb file, which holds the diagram layout and model data. Keep that file to continue working later.
It works in reverse too: Forward Engineering
Workbench modeling isn't read-only. Design tables in an empty model, run Database → Forward Engineer, and the model becomes CREATE TABLE statements applied to a real database. If your team starts designs in Workbench, the path from diagram to DDL is one flow.
What the Workbench diagram doesn't do
That covers what Workbench does well. Now for what it doesn't. The rule of thumb: the work gets tedious from the moment you need to share the diagram with someone else.
Sharing means passing files around. The model is a local .mwb file, so sharing it means sending the file — and the recipient needs Workbench installed. There's no way to show the structure by link without access or installation, so in practice you export images and repeat that every time the schema changes.
A table specification is separate work. The column-definition documents that reviews and deliveries require are outside the diagram export's scope, so you end up building them in a spreadsheet separately.
It's MySQL only. No surprise for the official MySQL tool, but in an environment that mixes PostgreSQL or Oracle, the Workbench diagram only reflects the MySQL side, and your diagram tooling splits along DBMS lines.
Our recommendation is not to switch but to pair. Keep MySQL administration and queries in Workbench as always, and connect through DDL only when sharing, specifications or multiple DBMS come into play. Getting the DDL takes one mysqldump line (or an export from Workbench itself); paste it into WorksCove ERD and you get an editable diagram plus a table specification, shareable by link. A schema read in as MySQL can also be converted and exported as PostgreSQL, Oracle or SQL Server DDL. If the specification is the urgent part, start from How to Write a Table Specification.
FAQ
Is an EER diagram different from an ER diagram?
In practice they are the same thing. EER stands for Enhanced Entity-Relationship, and it's simply the name MySQL Workbench uses for its diagram feature. When you make what everyone calls an ERD inside Workbench, the result is called an EER diagram. There's no separate feature to hunt for.
Can I use EER diagrams in the free version?
Yes. MySQL Workbench's free Community edition includes the modeling features, so reverse engineering, EER diagrams and image export all work without paying anything.
Can I diagram just a few tables instead of the whole schema?
Yes. The Reverse Engineer wizard has a step where you pick which objects to import, so you can select only the tables you need rather than the entire schema. On a database with hundreds of tables, that step is how you carve out one domain to look at.
Does Workbench produce a table specification document?
The diagram feature exports images (PNG, SVG, PDF and so on) and that's its scope. If you need a column-definition document for reviews or delivery, the fastest route is to export the DDL and paste it into a tool that generates the specification automatically.
To sum up: for checking structure and producing images in a MySQL-only environment, Workbench's EER diagram is plenty. Once you need to share the diagram beyond your team, or need specifications or multiple DBMS, connect a dedicated tool through DDL — and the preparation is one line of mysqldump.