Back in 2007 I wrote about CocoaMySQL, a small GUI for MySQL that allows you to manipulate and manage MySQL databases through a native Cocoa application. Since then development of CocoaMySQL died off and it has since been abandoned. A shame really as it did have several frustrating quirks that spoiled an otherwise great application.
Recently I came across Sequel Pro, a fork of CocoaMySQL that has big plans to stabilise the core code and turn it into a multi-engine database management tool (with support for SQLite and PostgresSQL scheduled for the future). Despite being available since early 2008 I’ve seen very little mention of Sequel Pro.
In terms of functionality Sequel Pro seems to be an almost exact match for CocoaMySQL, only with a smarter interface and less annoying quirks. The account management is still inconsistent, and lengthy operations still lock the interface up, but otherwise it’s a good step in the right direction and has already replaced CocoaMySQL as my SQL tool of choice.
It’s worth pointing out that you can easily use Sequel Pro to connect to a database on a remote machine using SSH tunnelling. This allows you to remotely manage a website’s database that would otherwise only be accessible through phpMyAdmin. First create a tunnel to your site from Terminal or iTerm:
You will need to change the username and yourwebsite.com to values appropriate for your site. The number 8888 is a port that is created on your local machine which tunnels all data to the following number (3306 – the default MySQL port). You may need to change these details depending on your system setup. Finally, create an account in Sequel Pro with your database username and password, but pointing at your local machine (and local port, if changed):
Easy remote management!
One important omission from Sequel Pro is user management. That is, there is no way to manage users and privileges, other than directly through SQL commands. You’ll still need to keep phpMyAdmin for some things.
Another potentially more problematic issue is that I’ve not yet been able to export a database with the correct encoding. My attempts to export a UTF-8 database always seemed to result in corruption of any non-standard characters. CocoaMySQL did not seem to have this problem so hopefully it will be cleared up soon.