One of the first things I did when I started learning MySQL is to find a decent GUI tool to administer the server, since I didn't think that the bundled MySQL Query Browser/MySQL Administrator is what most people use for complex work. Luckily, I was right.
There is a huge variety of MySQL development tools - some better and some worse. I'd prefer if I only had one tool that does it all - but if that's impossible, the important thing now is to pick the right one for the job.
Here it is, the (nearly) complete list of 3rd party tools. It took me a while to find out about all of them - so I hope this saves people quite some time there.
Here are the best ones I use on a regular basis, each one is good for different set of tasks:
- SQLyog by Webyog (commercial, with free community version)
Best combination - simple, fast, does just what it should and doesn't get in your way. Plus, the community version is free (except a small nag-screen). I use it most of the time and highly recommend it for most uses. Something that really annoys me though is that it looks like it has hanged when running long queries - though it doesn't really.
- Toad for MySQL by ToadSoft/Quest Software (freeware)
Ultra feature rich, and free. This one has it all. Very, very, very rich with features, from debugger to custom script generator ala SQL Server DTS.
The problem: it has it all. Takes time to understand how it all works, and it's overkill for most users. It's completely riddled with bugs. Version 3.1 helped the stability yes still the mean-time-between-crashes is about 30 minutes. I really hope that some future version 3.x will make this one stable. When it doesn't crash, it makes good use of it's multi-threaded architecture, and it's very responsive when executing long queries.
- MyDeveloper Studio by Core Lab (commercial)
High quality, "Visual Studio"-like UI. Fast and efficient. Great solid and fast user interface, pleasure to use.
We've actually got a license to this one, since it's the best program that includes a built-in debugger, and it was before ToadSoft released a version with a debugger as well. I use it all the time when I'm writing complex Stored Procedures.
- MySQL Administrator
It may look simple at first, but this little puppy is very powerful.
I recommend you download this XML definition file for the health monitor - it really helps a lot to understanding what's going on inside your server.
I've tried these ones out, but didn't like them:
- HeidiSQL (freeware)
Lacks some advanced features, but stable and friendly.
- MySQL DreamCoder (commercial, with freeware version)
Doesn't do anything special, could be used instead of SQLyog I guess.
- Navicat for MySQL (commercial, with a free "lite" version)
I didn't like the interface, but overall the program is quite solid.
- SQL-Front (commercial)
Seems too rough round the edges. On the plus side, it is one of the few tools I've seen that support partitions. Problem is, if you need partitions your schema's data is too big to be edited using this tool (or almost any other) and you just need a SQL command prompt which any tool can give you.
- DBArtisan by Embarcadero Technologies (commercial)
Bit of a bloat-ware. A 165MB install just doesn't make sense to me.
You can control any database you want, including Sybase, SQL Server, Oracle and whatever. Problem is with tools of this kind is that they tend to be too general and not really tailored to MySQL.
- Aqua Data Studio (commercial)
Another one of those control-all-your-different-databases-from-one-tool approaches.
- Database Workbench (commercial, with lite version coming soon?)
Functional but not exceptional. This is another tool that can administer all your databases from a single point. Has some nice touches like auto-generating Stored Procedures statements for DML, and the GUI is fast and clean. The free version could prove to be a SQLYog replacement.
Web based tools (I don't use them myself):
- phpMyAdmin (open source)
Very popular, and was very good even when I tried it with MySQL 3.23 about 6 year ago.
- Flash MySQL Admin (free art licence)
Didn't try this one, only stumbled upon it while searching.
- MySQL Quick Admin
Looks interesting, I didn't test it.
I didn't even try these ones out, since the website and the screenshots/descriptions didn't convince me I should:
- MyCon (commercial)
- YourSQL (open source)
- DBTools Manager (commercial)
- MySQL Data Manager (commercial)
- EMS SQL Manager for MySQL (commercial)
- EnglnSite MySQL Client (commercial)
That's really a lot of different tools. I hope I got all the important ones here.
Now, you can be one of them Open Source hippies and say that "It's amazing how the open source world nurtured an entire thriving ecosystem of wonderful free and commercial software around MySQL to enhance productivity and promote cultural diversity for the good of the world and preservation of endangered species" and all that stuff.
But if you're like me, you'd prefer there to be just one tool, that does everything just right. I know I do. Perhaps it's because I was born in communist Russia and I like the unified-centralistic approach to things? Perhaps it's because none of them is really feature-complete, stable and usable the way I'd like it to be? I guess we'll never know.
SQL Server Management Studio - I miss you.