The MySQL Pro Exam
Douglas Adams was right, the human race seems obsessed with pieces of paper, we pay green pieces of paper to go to school and after 4 years earn a nice piece of paper we can frame and hang on the wall and show to people in order to convince them that we deserve more green pieces of paper than the next fellow.
I myself am not exempt from this. Not only do I have a nice piece of paper framed on my wall declaring to the world that I earned a Bachelor’s Degree (Summa Cum Laude, thankyouverymuch), but I also have a nice piece of paper hung next to it in it’s own frame declaring me as one of the few and the proud; a holder of the MySQL Core Certification.
I took the core exam because it never hurts to have a piece of paper to add to the wall, and I like doing my part to help MySQL along by participating in betas of all sorts. I also hoped it would lend credibility to my authoring and for when I went to speak at the user conference (we can’t all be have our knowledge of MySQL precede us as with Jeremy Zawodny or Paul Dubois).
Recently my paper-collection urges were re-kindled by the discovery that my piece of paper has been superceded, MySQL announced the beginning of a beta program for the new Pro level certification. Would I stand by and let my poor Core Exam certificate wallow in loneliness? No! I had to strike out and earn a new friend to accompany it on my wall!
I logged into the Vue testing site, using the account I still had from taking the Core exam, verified my information, and chose my exam. I set up for the same testing center I had used before and set the exam date far enough away to give me adequate time to prepare.
I found studying for the Pro Exam to be more difficult than was the case for the Core Exam. For example, let?s look at some headings from the candidate guide for the Core Exam:
MySQL software - 10%
- Identify major program components used in MySQL
- Identify major operating system families on which MySQL products can be used
- Describe the difference between MySQL distributions
- Identify the client interfaces that are provided for the MySQL server and related products
These to me are easy to study for, they practically sound like exam questions. The Pro Exam candidate guide was organized more into a topic list than a list of questions you should be able to answer:
Internal MySQL Structure - 15%
- Client-Server Overview
- Choosing the Right Client
- Connecting the Client to the server
- Hard Disk Footprint
- Memory Footprint
- Log and Status Files
- Table Types in MySQL
Some of the headings can be a bit more difficult to look up in the documentation, but after all, this is a test for the experienced MySQL administrator, and you should at least know where to look in the documentation with the information provided.
It should be noted at this point that the Pro Exam is not for the MySQL user, but the MySQL administrator. The questions on the MySQL Pro Exam deal with server tuning, optimizations, and installation/maintenance. And considering the average programmer who uses MySQL is also the administrator, this certification is a natural next step.
I should also point out that you should probably have done the things I listed above at least once or twice before taking this exam, as you really do need a certain amount of experience to know where to look up some of the information you will find in the candidate guide, and it is a lot easier to remember from experience than from study.
I make it a policy to go through the candidate guide one topic at a time and look up all relevant keywords in the online documentation and then read, read, read. I found that with few exceptions what you see on the candidate guide is what you will be tested on, sometimes in ways you do not expect.
So, what should you know before you go into the exam?
Well, first you should know that the exam will not be a cakewalk. You need to know your stuff, have some experience under your belt, and be able to extrapolate what you do know to make educated guesses. Is there that one task that always requires you to break out the reference manual? Practice it a couple of times and cram it before the test.
You should know how to setup a server under Linux and Windows. You should know how to initially configure the server, how to secure it from the default configuration, what settings to make in the .cnf files (there are five ways to get config information to a server in Linux, do you know them and how they rank?), and how to tune the settings (remember that the read_buffer_size, key_buffer_size, and table_cache values are important for MySQL administrators).
You should know how to maintain your tables; do you know the command line utilities and the client commands to do this? Do you know what the command-line utilities in the bin directory can and cannot do?
You need to know how to start and stop the server under Linux and Windows. And setup each OS for automatic startup. You should be able to handle multiple server instances on a single machine.
You should know how to backup and restore the database, and the different methods available to do so.
Do you knaow what the various helpful scripts in the mysql/scripts directory do? I suggest you look in there and check them out, some of them are very useful.
Finally, you should know how to optimize a query. You should be able to tell by looking at an index list which of a given set of queries will use the index, and be able to interpret the output of the EXPLAIN keyword.
I would say that someone with six months to a year of server administration experience should be able to do well on this exam, especially with some extended study.
The testing environment itself is very usable, with questions formatted into three types: radio buttons for multiple choice with a single answer, check boxes for multiple choice with multiple answers, and text box for entering in single word answers (i.e. What keyword do you use to determine how the query optimiser will handle your query? ‘EXPLAIN’). You can go back to previous questions to change you answer, and mark a question for review at the end of the exam. You are always updated on time and questions remaining so that there are no surprises, and you get more than enough time to finish.
I personally think taking the Pro Exam is a natural choice for anyone who has taken the Core Exam, and for anyone who hasn’t, I consider the Core exam to be a worthwhile investment. Remember, the HR people interviewing you will likely take certifications seriously, and it can’t hurt to have proof of your knowledge.
So, am I am MySQL Professional? Well, being that this is a beta exam currently, I have to wait for the results to come back from MySQL AB once they filter out the questions and determine which ones will be in the non-beta final version. As I understand it those are the ones that count to my final score. In other words: Only Time Will Tell