As a web developer you need to work with databases a lot. There are many databases and one of the common relational databases is mysql. You can use only a shell by typing “mysql” and start to code… But thats so oldschool. As a webdev you should use a better client for managing databases.
In this article I will show you my experiences with mysql clients for windows. But these will also work on linux with wine. (all tested by myself!). So, which is the best MySQL client for windows / linux?
So as I mentioned, you could just start any console and type “mysql“. This works in Linux and also Windows. This is OK for smaller tasks or sometimes it is even the only way to deal with a database.
HeidiSQL is an open source database tool, written in delphi for managing mysql (but not only) databases. It has a nice GUI, has tabbed view and many of useful functions. Unfortunately it doesn’t work well for me on windows because once I launch it, it flickers sporadically without any reason. This sucks. I already contacted the devs but they they can’t do anything about it, the flickering might cause one of the delphi component.
HeidiSQL works great on linux using wine. I have never experienced any flickering and it was the best tool out there. And I really tested a lot of these mysql tools. Free and commercial.
SQLyog is a commercial tool (Price: between $ 69 and $ 269) for managing databases. It looks similar to HeidiSQL but it doesn’t have this annoying flickering. It has many more useful functions as in Heidi.
My favourite function is the Schema Sync Tool: You work on your dev server and have your dev database.. you add some columns ot change the types. Usually you need to do the same on the production server one by one. SQLyog schema sync can do this for you automatically. Just select source and target database and it will show you what is different on these servers and will ask you what you want to do. Click a button and you have same database structures on both databases! Beautiful. This feels like “git for databases”.
Other outstanding feature is the http tunnel. Usually you conect to a database using duirect connection but sometimes connections from outside are disabled, you might use the SSH tunnel but what if the customer doesn’t have an SSH account? Then you simply copy one file to that server which will work as a “backdoor” to the mysql server. To connect you add the full URL to this file in SQLyog, enter the credentials and you are ready to connect to the server.
SQLyog works on linux using wine.
Personally I work with SQLyog a lot and sometimes with HeidiSQL as even SQLyog doesn’t have features I need. (eg. deleting selected list of tables). I tested many SQL desktop clients, most of them are… just painful to work with. I really don’t want to say any names, test for yourself. 😉 if Heidi wouldn’t have any seizures I would probably stay with heidi, but even after months they didn’t fix this issue so I was ready to pay for a commercial product.
Do you know any good SQL desktop clients for Windows or Linux? If so, post in the comments 🙂