Friday, January 16, 2009

LAMP Skills for the MySQL DBA

MySQL runs on lots of Operating Systems
The MySQL database server runs with more different operating systems than any other database. The reason being is not only does it run on all the popular operating systems but you can download the source, make a few tweaks and run it on any operating system (if you're a bit twiddler). Yet the place where you're likely to see MySQL the most is with LAMP environments. Of course the L in Linux means Red Hat, SUSE, Centos, Fedora, Ubuntu, etc.

Operating Systems I use with MySQL
The operating systems I use the most with MySQL include Red Hat, Windows, Fedora 10, Mac OS, Solaris and OpenSolaris.
  • Red Hat and Solaris - use the most when working with customers.
  • Mac OS, Fedora and OpenSolaris - for trying different things and playing around with MySQL. Although I do see some customers using OpenSolaris and CentOS for their production environments.
  • Windows - use mainly for teaching beginning MySQL courses.
VMs I use with Mac OS
I like using Parallels and VM Fusion with my Mac OS environment. Both of these VMs allow me to install any operating system I want and play with MySQL, Oracle, Oracle Fusion Middleare and LAMP stack components.

Software skills to have around MySQL
For most MySQL DBAs in general, they need to have skill in popular software surrounding MySQL. These software skills include:
  • Linux administration - basic admin skills, cron, shell scripting and UNIX power tools (awk, sed, REs, PERL,...)
  • Application Servers - Get good with an application server. Apache is a great one to start out with. Then you can migrate to JBoss, Glassfish or the Oracle Application Server dependent on your goals. MySQL excels in web environments so it really helps for a MySQL DBA to understand the middle-tier in a lot of companies.
  • Popular software - Around MySQL you usually see a lot of oftware like memcache, Nagios, mon, cacti, SQLyou, Navicat, Toad, phpMyAdmin, etc. MySQL is like the open source Sun and a lot of open source revolves around MySQL.
  • Development - I'm still seeing lots of PHP, Java and Ruby around MySQL. Of course .NET is always a player.
  • Benchmarking software - mysqlslap, sql-bench, jmeter, MyBench, sysbench, Apache Bench and supersmack are all good skills to have.
LAMP Skills for the MySQL DBA
It's important for any MySQL DBA to increase their value to an organization and marketability by having strong LAMP or LAMP equivalent skills. As well as be able to work with the software that is used in lots of companies that surround MySQL.

No comments: