Command line tool is a good thing, but user friendly graphical interface – even more. This story is about MySQL design environment, or GUI. Exactly most of programmers need – easy edit, function to save query, connection management and data / structure synchronization. And, of course – backups. I would rather say this is most successful software for MySQL I ever found.
http://mysql.navicat.com/feature.html
Developing, experimenting and this or another way working with MySQL, I have defined for myself three requirements:
1. Save query;
2. Easy enough to edit sql functions / procedures;
3. Hot backup;
I have dug huge amount of software intended to facilitate work with databases and I ended at this - Navicat.
List of functionalities is large enough. More over Navicat exists as well for MySQL, as for Postgresql, as for Oracle. Software should be installed separately (and you have to buy it separately), but interface is similar for all of them.
It works in Windows, Linux and even Mac. I have tested Navicat on Windows. On linux using wine – works good (and what is the most amazing – stable).
I use Navicat for MySQL and Postgresql for around 2 years.
Functionality I found to be good for myself:
- It is possible to work with multiple connections simultaneously;
- Connection can be established directly to server or via SSH tunnel;
- It is possible to create table (and its structure) in a nicely designed window. Also define / edit index, foreign keys and triggers. Trigger editing windows might be better.
- It is possible to save query (locally of course). Here we talk not about views (they can be made and saved as well), but regular sql query, mostly used in php or other code.
- Rather convenient procedure / function editing window.
- Backup is stored in some unknow datatype, but can restore selected objects, procedures, views. If it is needed, you may dump sql.
- Import / export from / to different sources incl. MS Excel;
- It is possible to work with events (will come up with MySQL version 6);
- It is possible to monitor process list, active connection, view what is executing and terminate them.
Inconveniences / bugs:
- While writing sql code in sql editor you may use code completion. Only works with tables not aliases;
- I workstation crashes, you have to aware, that connections are stored in window registry, but backups in unknown format, understandable for Navicat only;
- Editing trigger, in case of error on saving – very probable it will be lost and might be needed to write it once again. Technically, it look that old trigger is dropped, but new cannot be created because of mysql error.
- Synchronizing table structure as a change is assumed also auto_increment value. Hope this will fixed in future versions.
Pictures 1. The Desktop
Figure 2. Create a table / repairs
Images 3. Triggers
Picture of the fourth Functions and Procedures
Figure 5. Query
File sixth Query analysis (same as EXPLAIN)
Picture 7th Create a visual query.
» Comments