Exploring MySQL – Part 1

I recently had an opportunity to work with MySQL for the first time, while volunteering to code for a charitable cause. Its been a year or so since I have worked with anything but Microsoft SQL Server, so it was interesting to revisit the challenges of working with an open source database.

At first, I started searching the internet for a “SQL Server Management Studio” like client tool to work with MySQL. This led to the “MySQL WorkBench” – which was easy to download & install and quite intuitive to learn. I was impressed with the built in data modeling features and familiar interfaces that allowed me to browse through database objects and run queries. However, after some more exploring around, I realized that in order to connect to a remote MySQL Database, my user/login must be set up to allow access from a client machine (there are options to allow a user/login to access a MySQL Database from any client machine).

So I went back to Google searching for answers, and came across “phpMyAdmin“, which did look quite promising. Its installation document however seemed much more complicated and needed several pre-requisites , including an Apache tomcat server. Drawing upon my memory trying to learn Hadoop, I figured there might be a nicely packaged distribution which bundles together all of the components I need for MySQL , similar to Cloudera or HortonWorks’s distribution of Hadoop. I was happy to discover “Xampp” – an easy to install Apache distribution containing MySQL, PHP & Perl and includes “phpMyAdmin”. However, this still left me unsure if it would solve my problem of trying to access a remote MySQL Database to create tables and stored procedures.

I got my breakthrough while talking to other volunteer coders on the project and got access to “cPanel” – a graphical web-based control panel that simplifies website and Server (including MySQL Databases) management. Logging into cPanel, I was glad to see a section for “Databases” that included the tools like “MySQL Database Wizard” & “phpMyAdmin”.

In the next part of this blog, I plan to write about creating a MySQL Database, adding users and creating database objects.