Thursday, December 18, 2008

Upgrade exam or not to have upgrade exam

The MySQL 5.1 DBA exam is in alpha-test right now and some of the reviewers have had questions about upgrade exams. The new exams are no longer multiple choice. They are based on a candidates performance with a real database on a virtual server.
In the past I have stated that there was not going to be an upgrade exam. This was due to the change in exam format and the history of previous upgrades not being popular. Less than forty folks took the Core to Dev upgrade exam (about 5% with that certification) and the numbers are worse for the Pro to DBA upgrade. Why spend time on something that is not going to be cost justifiable?


But my reviewers are trying to convince me to have an upgrade. It would not be that much more work to offer a hands that could be taken over the Internet. You would have to SSH into a remote server and would have an hour to complete 3-5 short tasks featuring MySQL 5.1 new features. Hopefully you still remember your 5.0 knowledge.



So, would you a) want a 5.0 to 5.1 upgrade exam and b) what would be a reasonable cost?

Thursday, December 4, 2008

Certification Magazine's 2008 survey

Certification Magazine has published their 2008 salary survey. But it is more than just a salary survey. Responses from more than 150 countries revealed some very interesting information.

Who has the certifications: 60% percent of those surveyed were in their current job for less than four years. The majority were in IT for less than a decade. But the majority had at least three certifications:

Who paid: 48.3% have their employers pay for their certifications.

How did they study for their exams: Over 48% used self-study books. Practice exams and on-the-job training were used by over 66%. About 75% viewed their prep materials as good or better.

What are they being paid: Figure 7

So what catches your eye in this survey?

Tuesday, December 2, 2008

Your help is needed on the MySQL 5.1 Developer Exam

The news of the MySQL 5.1 GA announcement brought many emails asking about the 5.1 exams. First, let me state that if you are studying for any 5.0 exam please keep on with your plans. The 5.1 DBA test is inching closer to alpha test and will not suddenly pop up without warning. It is on the way but most of you will not get to see it until well into 2009. Watch this blog for updates on how the testing is proceeding. Help the dolphinsSecond, the 5.0 exams will not be disappearing anytime soon. Nor will they start 'expiring'.


But I do need help with the new 5.1 Developer exam. The new exam will be part multiple choice and part 'hands on' or performance based testing. Like 5.1 DBA exam mentioned earlier this year, I need the help of some of you to take a look at the new material and judge its relevance. No, getting a peek at this material will not help you with the new exam when you sit for the test. But if you want to help define just what it means to be a MySQL Certified Developer, this is opportunity knocking hard at your door.


So what does it really mean to be a MySQL Certified Developer? Below is a list of what an attendee at a MySQL for Developers class should be able to accomplish at the end of that class. But how many of you hard core coders do all or most of these tasks on a regular basis?

What task can you hand off to your local DBA or do you do both jobs? Are any of these items too simple, too complex (optimization?)? Is anything missing? What do you do to ascertain the skill level of someone who shows up at your office who wants to be a developer?


So put in your views in a response to this posting or send an email to Certification @ MySQL.com with the subject of 'DEV51help'





  • Describe the MySQL client/server architecture
  • Understand the steps necessary to invoke MySQL client programs
  • Utilize the general-purpose mysql client program to run queries and retrieve results
  • Perform queries and analysis of data utilizing the MySQL Query Browser graphical user interface (GUI)
  • Explain the MySQL connectors that provide connectivity for client programs
  • Select the best data type for representing information in MySQL
  • Manage the structural characteristics of your databases
  • Manage the structural characteristics of the tables within your databases
  • Utilize the SELECT statement to retrieve information from database tables
  • Utilize expressions in SQL statements to retrieve more detailed information
  • Utilize SQL statements to modify the contents of database tables
  • Write join expressions in your SQL statements to obtain information from multiple tables
  • Utilize subqueries in your SQL statements
  • Create views utilizing SELECT statements to produce "virtual tables" of specific data
  • Perform bulk data import and export operations
  • Create user defined variables, prepared statements and stored routines
  • Create and manage triggers
  • Use the INFORMATION_SCHEMA database to access metadata
  • Debug MySQL applications
  • Configure and Optimize MySQL

Friday, November 28, 2008

When MySQL splashes back too much

Splashing Atlantic Bottlenose
Sometimes MySQL is too helpful. Recently I was helping a very large man working on a very small laptop that had an overly sensitive mouse. Trying to scroll back and forth to examine the system variables with the mysql command-line client was very painful. It reminded me of the Atlantic Bottlenose Dolphin named Kai at the Texas State Aquarium pictured here that was too helpful when I tried to get him to splash 'just a little' for a picture. In this case the server was returning too much to see and the very large man in frustration handed his computer to me.


mysql> pager more
PAGER set to 'more'


I returned the laptop and the very large man could now control the scrolling. After a few moments we found what we were looking for.

'So how do I turn this pager off?'


mysql> nopager
PAGER set to stdout



You can set the pager to a file or a program on any system but Windows (no popen() function). And it is one of those little things you need to pass on to MySQL novices to keep them from trying to 'drink from a fire hose'.

Wednesday, November 19, 2008

Getting free tools for your next certification exam

One of the problems with living in times as they are now is the lack of funds for what I like to call non-directed autodidactic exploration. Some of you would call this 'investigating new tools' but most would call it getting 'toys'. How do you know if D-trace, the MySQL Query Analyzer, or the next new announcement is that new tool that you can not live without if you do not get a chance to live with it? In the past I was able to rig an old laptop, my new laptop and an old development system to play, er, experiment with MySQL Cluster before taking my Cluster DBA exam.

Cisco CCIE candidates end up with an expensive pile of routers, hubs, switches, and cables in preperation for their lab exam. I wanted to get back up to speed on Solaris and went hunting used hardware for Sparc system so I could learn all the new items added since the 2.5.1/2.6 days (and boy did they add stuff). In the back of my mind is using some holiday time to work on a Solaris 10 Certification.

I also wanted hardware to let me investigate OpenSolaris, Glassfish, and the latest BSD-based releases. Plus there is that experiment I want to do with the Proxy Server and sharding. The list of wants was a lot longer than the funds on hand. And the idea of adding a pyramid of box past their prime did not appeal to me nor did the prospect of a higher electrical bill.

Virtual Box is a virtualization software that is freely available under a GPL license. Very quickly I was able to install Virtual box on my Mac and configure Ubuntu and OpenSolaris clients.

Nothing is really free. Each client takes a dozen or so GB of disk space. Running both clients, NeoOffice and Thunderbird at the same time makes my MacBook work hard. The good news is that is easy to remove the clients so that old opportunity cost is relatively low.

Now I have Glassfish and OpenSolaris on one virtual machine and can use my Mac and the virtual Ubuntu as clients. I can then query a MySQL 5.1 instance on the Ubuntu system and watch the Proxy Server re-route the request. Plus I was able to load the latest Zend Framework without having to disturb an older version on my main development system. Total cost out of pocket $0. Disk space cost about 25 GB. Time spent? Well that took about an hour for the first virtual server and twenty minutes for the second.

But now I have systems that I can use to explore all those new tools without having to crack open the wallet. And I have all these new toys, er, tools to learn. Times are good.

Friday, November 14, 2008

Sun's CEC MySQL Certification

Sun's Customer Engineer Conference is now history and over forty new Certified MySQL Associates are on the street. Track 15 aka MySQL was a new session for Sun and CEC was new for George and yours truely.

George Trujillo did a wonderful job, as he always does, in getting a large room full of people with various skills up to speed with MySQL. Three sessions a day most for three days after a long Monday were tough but the folks in Track 15 hung in there. A few had Oracle or other database experience but most were new to the subject. By Thursday night they were replicating databases. Zero to replication in eight sessions. That is very impressive.

This morning was my turn and the candidates listened intently to my brief review and then tore into the test. As they finished, I made a point to try to ask each of them how they did on the test and if they thought the class has been worth the time. All agreed that the class was a great. George and I had concerns before the track started about providing a quality experience and worked hard to provide guest speakers, relevant labs, along with the outstanding materials used in MySQL Training Classes.

Now Las Vegas awaits and I am off to see more than just the conference hotel.

Wednesday, November 12, 2008

Every Techie under 35 has has used MySQL in one way or another



Sun's 2008 Customer Engineering Conference (CEC) is an opportunity for Sun engineers to get in depth training. So over 2,000 Sun engineers are kept indoors at Paris Las Vegas from eight in the morning to eight or ten at night to get up to speed on new subjects.  This year MySQL is one of tracks and over eighty engineers are being trained by George Trujillo.  This is also a record class size for a MySQL training class.  And at the end of the week they will take a MySQL Certification exam.

Rather than a standard DBA class, George has opened up some time to other to teach.  Cliff Conklin brought up valuable insights on storage engines.  Anders "Make ZFS GPL" Karlsson provided the students a view into how MySQL is integrated into organizations, clustering and database performance.  We even had the SVP Marten Mickos take some time out of his heavy schedule to discuss a high level view of where MySQL came from and where it is going.  Later in the week there are other speakers scheduled.

The quote I am using to title this entry 'Every techie under 35 has used  MySQL in one way or another' caught me by surprise.  Marten made this statement and I noticed that very few people in the room jumped when they heard that.  The engineers in attendance are working hard to understand how to best fit MySQL to support their customers.  A good number of them have DBA level experience with other DBMSes. Many have confessed they have been getting queries from customers about MySQL since the January purchase.  George is providing the heavy technical training and the cameo appearances are filling the other gaps. And the attendees are really soaking up the material.

Many are cramming with the MySQL 5.0 Certification Study Guide for the certification exam on Friday.  That is a lot of dedication considering the many available 'distractions' in Las Vegas.  And it gives a good feeling for the customers of these engineers after seeing their dedication.


Monday, November 3, 2008

Changes in the certification world

The Information Technology Certification Council is a new organization you are going to hear a lot about in the next year. The membership list is a who's who of the computer certification world and their main focus is increasing the value of computer certifications.

Their most visible project to the public will be marketing materials on certifications. The general public does not know a CCIE from a MSCE or CMDBA. Why is this education valuable?

Several years ago I was employed by an on-line recruiting firm and hiring managers asked why they could not find programmers with twenty plus years of Java programming experience. Java was under ten years old at the time and even James Gosling did not have twenty years of Java experience. Twenty plus years of programming experience with a recent emphasis on Java was not what they wanted. They knew exactly what they wanted and would not accept a substitute. Even if what they wanted did not exist.

Only a tiny fraction of the world's population know what someone with a CCIE, LPIC-2, or CMCDBA have had to accomplish to get that jumble of letters. They may know that a PhD, MBA or a MFA have spent a good deal of time in school. Most people have no concept of what law school or medical school entails apart from what they have seen in films or on television. So how does one value these funny computer 'geeks' who show up for an interview with these funny little tree and four letter designations on their resume? What does SCJD or MSCE really mean? Why would you want to hire one?

I was told earlier in the week that an analyst told the ITCC core, "Certifications are as important as college degrees were 10 years ago." That is quite a castigation on the educational system and a big 'heads up' to the certification world that certification programs need to make sure our product clearly delineate those who have the skills from those who do not.

The second ITCC project that will have great impact will the the Certification Clearinghouse. All your certs will be listed on one centralized server under one access code. A hiring manager or human resources clerk doing due diligence on a job candidate will not have to chase a dozen websites with various codes to check certifications. They can go to one site and verify the certifications from a trusted website.

And the ITCC will be working hard to improve test security. The general public will probably not see any of this activity but it will make life difficult for those who wish to cheat or facilitate cheating on certification exams.

Monday, October 27, 2008

Japanese Exams are Back!

The MySQL 5.0 Developer and DBA exams are back. One of our engineers, Toru Sugihara, has done an amazing job of going through the exams and greatly improving the translation. They will be available at Pearson VUE test centers starting the 28th of October. Gambatte!


The 2008 MySQL Conference Call for Papers is open until November 5th. Please contribute if you have something you want to share with the community. But is there anything you want to see from the MySQL Certification Team? Some of the material about MySQL certs has been done heavily in the years past but is it time to revive it? A half hour session about certification stats? A BOAF on building the MySQL Certified Community? Extended certification test hours? Tutorials on the new hands-on exams?

Let us known what you need and we will do our best.

Friday, October 17, 2008

Prompt prompts

Ever wonder how long that MySQL statement took to run? Or what pace those scripts you run from cron take to run at night? You can change the prompt on the MySQL command-line tool to show user name, time, current database or many other useful facts.


>mysql foo
mysql> prompt \R:\m:\s>
PROMPT set to '\R:\m:\s>'
14:11:16>SHOW TABLES;
+------+
| foo |
| bar |
+------+
2 rows in set (0.01 sec)

14:12:12>



I find this quiet handy in scripts that I run late at night. It is also good when running a complex statement that will consume clock time so that I can tell when it finished. Not exactly awe inspiring but a quite handy 'trick'.



Details are here half way down the page.

Wednesday, October 15, 2008

Starting on the next edition of the MySQL Developer Certification exam

The work on the next editions of MySQL Certification Exams is going well. My current focus is on the Developer exam. There is a little bit of overlap between the current Developer and DBA exams ('What is MySQL AB?') that need to be pruned. Most MySQL customers seem to have a lot of functional overlap between people titled Developers and DBAs. So what do you ask of an individual that quantifies their ability to develop software that accesses MySQL databases? Not their DBA skills or their joint Developer/DBA skills but just their developer skills.

The book used in the MySQL for Developers class is an amazing document. It covers many subjects in detail from basic SQL to query optimization. I am carefully picking my way through in search of prime exam material. This is what military analysts call a 'target rich environment' where there are so many things on which to test a candidate that covering them all in depth would require an all day test.

So I turn to the MySQL community and ask 'What should be on a Developer's Certification exam?'

What can be left out?

What can not be left out?

What skills do you require when you add another developer to your staff?

And those of you with a MySQL 5.0 Developer Certification, what essentials have you learned that you can pass on to others?




Fans of Adbobe Flex in the Dallas area need to check out TexFlex08 this Friday, October 13th. Details are at D-flex.org




The next exams from MyQL will be performance based test or 'hands on' exams. Texts on sett up such exams are rare but at the recent CEdMA Conference, Judith Hale's Performance-Based Certification : How to Design a Valid, Defensible, and Cost Effective Program was recommended. I was able to obtain a copy and have just started the book. So far it lives up to the expectation. So anyone interested in the subject should shop around as it can be found at a bargain price.

Sunday, October 12, 2008

September's results

MySQL Certification had another great month in September. It was our biggest month with a MySQL Users Conference (where the cost of each exam is deeply discounted). A total of 159 exams were taken and that is a 10 percent increase.

Total certifications earned was another non-UC record with 68. That was made up of 14 Developers, 27 DBAs, 7 Cluster DBAs, and 20 Associates. Congratulations to all those who worked so hard to earn these certifications.

Those of you wishing to take the exams in Japanese should keeping checking the website for a new, much improved translation that will be ready by the Japanese UC. Domo arigato, Toru-san!

And be sure to list your MySQL Certifications on your resumes and social networking pages. I had a long talk with an online recruiting company about the best way to find certified MySQL Developers and DBAa. The demand for individuals is there but writing the filters to sweep their data warehouses is tricky (I did that in a previous job). These recruiters are being slammed for requests as more compnaies use MySQL.

So make sure you spell MySQL as 'MySQL' and list you certification spelled out and with the initials (CMDEV, DMDBA, CMCDBA, CMA, Core, or Professional) to help them find you!

Friday, October 10, 2008

New Certification Exams , 'gifts' question, and your success story

One of the frustrations of of working in Certification is that so little time is spent creating exam questions. There are million other things from expense reports to mandatory training that need to be take care of before delving back into things like InnoDB buffer pools or scaling Falcon databases. The good news is that new exam questions are ready for the next generation of DBA Certification and I will soon be begging the folks who helped me in the past for one last look before we shrink wrap the exams.


I attended the CEdMA Conference this week and was able to network with other certification folks. One of the items of discussion was what goes into a certification package. In tight economic times, training and certification departments need to cut costs. Many certification entities are simply sending out PDF certificates via email. Others are concerned about rising costs for shipping t-shirts, pens, wallet-sized cards, certificates, and other 'gifts'.

I would love to get some feedback on what you want to physically receive when you earn your certification. Do you want the printed certificate or would a PDF suffice? Does the wallet-sized card with your certification information useful? What about the 'throwing disk', pen, beach-ball, t-shirt, or other 'gifts'? Please do not be shy as we need your feedback!




Do you have a success story you would care to share about how you used MySQL? We are always looking for good success stories. This year MySQL training is participating in a week long training session for Sun System Engineers. And we wish to share what you have done with MySQL to help them understand how our products are used out there in the real world.

So please brag about your work!

Tuesday, October 7, 2008

MySQL Training

Last week I had the great opportunity to sit in on a DBA class session taught by George Trujillo. I know that most of the folks administrating and programming MySQL databases are self taught. Learning by the 'RFTM' has benefits but many lessons come directly from the education institution know as The School of Hard Knocks. And some knocks are much harder and larger than other.

Self-teaching is a valuable way to learn but a lot depends on the quality of the materials you can discover. The MySQL DBA class is well structured so that concepts are presented in easy to understand portions and build on each other to cover the information. It really beats trying to read the online documentation at three in the morning.

I was shocked and somewhat jealous that in a few minutes the lucky students in the Dallas class were carefully guided by George on the subject MySQL grants and privileges. My early DBA work was always in 'get it working and worry about how it works later' mode. This often left me struggling at odd hours trying to figure out why X worked for A but not for B, usually with B breathing over my shoulder and griping about a deadline. Learning the hard way is just that -- hard. The information that George so easily communicated to the class would have saved me hours.

The class manual is a thick book filled with information, drills, and best practices. Combined with George's dynamic teaching style, the lucky students were receiving a big boost in become better DBAs. Believe me, this beats getting X working for B late at night while B doubts your ability and parentage.

George introduced me to the class and had a small break to allow the students to ask questions about MySQL Certification. From the quality of their questions, it was obvious that this DBA class was giving them the skills and knowledge they would need to be very good MySQL DBAs.

So check out the MySQL Training pages and see if there is a class near you. The classes are carefully crafted and well taught. The time and money spent on these classes will pay dividends later hen you do not have to flounder around looking for the correct man page or blog entry.

Monday, September 29, 2008

Binary Logs and saving data

Back when I started working with computers, you actually carved each character with a machine into oddly shaped pieces of paper. My FORTRAN class required up to two dozen of these carefully manicured pieces of paper for each program. The folks in the RPG class had litterally stacks of data one or two feet deep and my mind boggled at the amount of data these poor folks had to carry around with them. My best guess now is that they may have had up to two thousand records of up to 80 characters. My lowly FORTAN class saw the RPG programming class as demi-gods as they trudged along with trays of cards under their arms.

And then one day it rained. Data cards were sensitive to humidity especially the type of humidity you find in the bottom of a rain filled gutter, 12-edge down. My fellow students and I commiserated with one of those formerly envied RPG students as we viewed what was now a paper mache lump. The object of our empathy had tripped and dropped their card tray while trying to extend an umbrella on an rare rainy day in El Cajon, California.

The data recovery process was fairly simple. Fresh IBM cards were purchased at the campus book store and then feed into a bin the card duplicator. Then another student's card deck was placed in another bin. The card duplicator was then turned on and it made a loud staccatto blast as it attempted to make exact copies of every card. But the card duplicator was an old, electromechanical device that made what could be call a 'best effort'. Sometimes the card reading device would not find all the holes in the card. But to be fair, it would often inject unneeded holes in other cards in a frustrating karmic balance.

So, a few feet of cards were hand checked. It took the better part of a day but the RPG student did recover the data. The student was very lucky in that she had access to a replica of the original data.

So how does a MySQL DBA recover from the modern equivilent, say the programmer who forgets to add the WHERE ID_number = '999' to the DELETE FROM huge_dataset statement? Use the binary log!

MySQL's binary log records 'events' that could change a database. So SELECTs are not recorded but UPDATEs, DELETEs, and other statements are. Enabling the binary log will allow the server to record these changes into a file. You can read the file mysqlbinlog program.

So the programmer forgets the last half of the above statement and you have to rebuild huge_dataset.

Step 1. Stop the server. Make sure users can not connect while work to restore the table by the process you and company favor.

Step 2. Restore the needed table(s) from you last backup (you do backup your data, right?).

Step 3. Find the binary logs files that cover the time period from the last backup to shutdown. Pipe the output of mysqlbinlog to a text file. Append log output to this file. This text file contains the SQL statements that have potential to change the data.

Step 4. Find the offending DELETE FROM huge_dataset statement and remove it from the text file created in Step 3.

Step 5. Use the text file (\. text-file) as input.

And you are back in business.

Of course my five steps are a simplification. But the general idea is there. You may also want to check out the MySQL manual on 'safe mode' if you want to avoid 'DELETE *' issues like the one above.

Wednesday, September 17, 2008

MAX_ROWS

How well do you know MAX_ROWS?


mysql> CREATE TABLE cube2 ( cube INT(1)) MAX_ROWS=2;
Query OK, 0 rows affected (0.12 sec)


So I inserted a row INSERT INTO cube2 values(3); and then another with INSERT INTO cub2(4);. So what happened when I tried to insert a third row?

Did the server complain I was trying to fit a third row in a two row table? Did one of the existing values in the table get replaced?

Nope. The server gladly took the third row.

MAX_ROWS is usually used with MyISAM tables to change the row pointer size from the default to access more disk space. Using a MAX_ROW value absurdly lower than this pointer size is politely ignored by the server.

Drat! I I thought I had a cute trick to use on a certification exam.

Thursday, September 11, 2008

Branded Guinea Pigs! Ye-hawwwwwwwww

My last post asking what people are looking for in being part of the Certified MySQL Community brought me a good deal of email. I will pursue looking into training and service contract discounts with my bosses. Mugs and t-shirts seem to be popular requests also.

I even had someone who saw my mention of beta exam testers as 'guinea pigs' and requested branded guinea pigs. Now, I live in Texas and two miles from my house there is a heard of Bison. A few folks in the area have cattle, mainly longhorns. A lot of livestock these days actually get implanted microchips but branding irons are still used for the recognition of livestock on the days the cowboys leave the RFID scanner out of the saddlebags. So I asked about branding.

My consultants on the subject were not inclined to favorably recommend branding Cavia porcellus. Having Sakila, the MySQL dolphin, and/or the letters 'MySQL' would probably be too busy of a design, especially on an animal that weighs about a kilogram.

So sorry, no branded guinea pigs.


Any other ideas?

Friday, September 5, 2008

LinkedIn's MySQL Certified Professionals Community

Mark Schoonover has asked me to take over the LinkedIn Group for MySQL Certified Professionals. We are still working out the details but I would like to ask the almost 200 members of that group and any potentially interested others what they would like to see this professional community become.

Personally, I am going to need a platoon of MySQL Exam beta test guinea pigs and this group looks like a great source for talent people.

But what do the members want?

Cisco gives accounts with CCIEs on staff a percentage discount on support contracts? They also get an escallated queue for any support calls. The logic behind that is that a CCIE would not call on something trival and would have triaged the problem. Is this something for this group?

Or do we need t-shirts? Mugs? A special room (rubber padded, drool absorbant carpet) reserved for us at the 2009 Users Conference?

What would you like?

So, feel free to respond. I will post this on the LinedIn group as well as my blog (appologies to those who have to read it twice!).

---

For those interested in joining, go to LinkedIn and search for the MySQL Certified Professionals Group.

Tuesday, September 2, 2008

August Certifications

August was a great month for MySQL Certifications. There are now fourteen new Developers, Thirty-four new Database Administrators, three Cluster DBAs, and a dozen new Associates! This was our best single month without a MySQL Users Conference.

So what about the rest of you without your MySQL Certifications? Try the sample questions for the Associate, Developer, DBA or Cluster DBA for free. Maybe you are closer than you realize.

Monday, August 25, 2008

Updates, Labor Day, and Scotland

I am about to tackle updating the MySQL Certification Web Pages and need some help. The site needs a good cleaning, dusting, a little paint, and some re decorating. Please feel free to add your input.

The pages need to be streamlined to make it easier for candidates to find information about MySQL Certification. The promotion of MySQL certifications to recruiters, hiring managers, and personnel departments is one of my goals. And I want to start more of a community for those with certifications.

So I am going through my 'to-do' list, the emailed gripes, and all the other suggestions. But I am offering you a chance to add thoughts.

--

No North Texas MySQL Meetup with Labor Day next Monday.

--

I just returned from a week in Edinburgh with the MySQL trainers, ciriculum developers, and the folks that work behind the scenes to make it all work. Lots of goodies are being developed for you that will knock you socks off. These folks know their stuff and I recomend that if you are thinking of signing up for class that you will be in for a treat.

Saturday, August 2, 2008

North Texas MySQL Meetup Aug 4th

The next meeting of the North Texas MySQL Meetup will be held on Monday the 4th of August at the Sun offices off the Dallas Tollway. We are covering MySQL basics by following the material for the Certified MySQL Associate exam.

We welcome all and details can be found at http://mysql.meetup.com/250/

Wednesday, July 16, 2008

Event Scheduler

Part of updating the MySQL Certifications is trying out all the new features that have appeared with 5.1 and 6.0. Currently I am working with 5.1.24-rc on a Mac and 6.0 on Ubuntu and looking for items to add to the exams. The Event Scheduler is sure to become one of those Swiss Army Knife tools that we will wonder how we ever accomplished anything without.

I usually experiment with very simple tasks.

CREATE EVENT x1_event ON SCHEDULE AT '2008-07-16 14:01:01' DO INSERT INTO x1 VALUES (9,'nine');

SHOW EVENTS did exactly that. And just after 14:01, I found the new row in my x1 table.

So now I am thinking of a dozen think I used to do with cron(1) or at(1) that I could do with the event scheduler.

Warning: There are ramifications with backups and the event scheduler that I will not go into details here. But for now do not try to run your backups with event scheduler. The engineers are doing their magic right now and will surely dazzle us with their brilliance.

So hit the Event Scheduler documentation at http://dev.mysql.com/doc/refman/6.0/en/events.html

Monday, July 14, 2008

Cluster Study Guide, Edition 2

My new edition of the MySQL 5.1 Cluster DBA Certification Study Guide arrived today. It features a bigger format, corrections, and much better graphics. And it is $10 less expensive.

The MySQL Cluster is just different enough from the 'old fashioned' server to be confusing to long time MySQL DBAs. This book points out common problems people have getting their clusters configured. So if you are curious about how clusters work and want more than the man pages as a reference, order you copy today!

Monday, July 7, 2008

Volunteer to develop with the next generation of DBA exams

The next generation of MySQL DBA exams are going to be performance based tests (PBT) or 'Hands on'. A candidate will have a series of tasks to be performed, a virtual server, and a time limit. The tasks are going to be based on the usual tasks performed by a Database Administrator. For instance, a candidate will get a list of user accounts that need to be added, updated, or deleted and will be graded on how well they meet the objectives.

I have already asked my fellow MySQL employees to review the tasks but I would like to have some input from the public. Following the Open Source dictum of the more eyeballs looking at a problem will provide better products, I would like to get some of you to look at the proposed tasks and give me your comments.

In the past there have been complaints on questions being too syntax specific, too picky, and asking for too obscure knowledge. This is a chance to help make sure that the exam covers the scope of the DBA jobs.

You will get a chance to review the proposed tasks and evaluate them. What I need is to find out if the task is something that a very good DBA would be able to do as part of their regular duties. You will get a few days to look at the tasks and get your feedback to me.

So if you have some spare time and want to help develop the next generation of MySQL DBA exams, please send an email with the Subject of 'VOLDBA' (yup, uppercase to catch a filter) to dstokes AT mysql.com.




So are the 5.0 exams going away? Not anytime soon. The lead time for the new exams, with new technology, and new questions is going to be pretty long. Last month the numbers of test takers was up 33% over the previous month.

And I keep getting emails from hiring managers and recruiters looking for Certified MySQL professionals. MySQL is getting more popular everyday and their is a vacuum in the talent pool. Heck, look at the MySQL Job Forum at some of the interesting positions out there.

I used to work for an online recruiting company and can go into very boring detail on how recruiters looks for keywords. Even a top notch technical recruiter may not know Ajax from Ruby but they will catch the words certified or certification.

So hit the Certification Study guides, get that Cert, and find that dream job!

Monday, June 30, 2008

North Texas Meetup 7/7 at 7PM

Please join us at the North Texas MySQL Meetup if you are in the Dallas area this coming Monday July 7th, at 7PM. This is our first time at the Sun Office (Mansions 1 and 2 rooms of the Sun Office, 16000 Dallas Parkway, Ste 700, Dallas, TX Dallas, TX 75248). We have been a good little group but now we need more room to hold more bodies. And the location should be better for those in Dallas.

There will be a short presentation on Getting Started with MySQL and Studying for the Certified MySQL Associate Certification and will be followed with a general 'round table' discussion.

Anyone interested in MySQL is welcome but please RSVP at http://mysql.meetup.com/250/

And the next night is the DallasPHP.org meeting -- a great resource for all levels of PHP coders. A blub from their website The Dallas area has many highly experienced PHP developers, and is adding new developers all the time. This July, the greybeards of DallasPHP are going to cover the PHP basics, talking you through the fundamentals of PHP, its history, and pointing out some of the obscure artifacts still lingering around in the language. If you're new to PHP or just want to talk about how it came to be what it is, join us this month.

Maybe we can chip in and buy those 'graybears' some of the Just For Men hair coloring for facial hair.

Thursday, June 26, 2008

New Cluster Certification Study Guide

The second edition of the
MySQL 5.1 Cluster Study Guide is now available through Vervante books. Those of you who have patiently emailing me to ask when you can order your copy should should get their order in ASAP.

Wednesday, June 25, 2008

Cluster Study Guide

A new edition of the MySQL 5.1 Cluster Certification Study Guide is due out any day now. As soon as I get the new on the availability, you will see it here. It will be bigger, better, and all the marking adjectives you would ever want.

But the original, first printing is sold out.

Monday, June 23, 2008

Example MySQL Certification Exam Questions

Over the weekend I received a few emails asking for sample questions for the four MySQL Certification exams. There is a CDROM that comes with the MySQL 5.0 Certification Study Guide that covers the Developer and DBA Questions. The MySQL 5.1 Cluster Certification Study Guide (next edition due any day) has questions at the end of every chapter.

And there are questions that are just slightly modified from each ofthe four exams at http://www.mysql.com/certification/selftest/core/index.php

Tuesday, June 3, 2008

CLI Lives!

I got a fair amount of response from my last blogging about including the MySQL Administrator tool as a useful utility in a hands on exam for DBAs. In general I do not like GUIs and prefer the old fashion way. The first thing I did after getting my Mac laptop was open up a terminal to get to the command line interpreter. But I never expected so many to be in favor of forgoing the Administrator tool and sticking with the CLI.

You can read the comments for yourself. I found myself agreeing with all of them. I did receive some private emails that generally distilled to the DBA exam being test of DBA skills and not how well one can manage the latest version of an add-on product.

One of the reasons I used to tell novices to use the vi editor was that it was a common denominator and would be there at three in the morning after your data center had go to heck and you needed to get your servers back on line.

And so, you will get to do the next generation of exams on the CLI.

Friday, May 30, 2008

MySQL Administrator and Future Exams

Many vendors are going to performance based testing, also known as hands on exams. Most of the criticisms I receive on a regular basis that that all Certification Exams are PICKY or rely too much on the memorization of trivia. 'Besides, a real {DBA|Developer} never uses most of those commands in Real LifeTM!'

Well, your next MySQL Exam just may eschew most of those complaints. Developers could be asked to normalize tables, DBAs could be asked to set up replication, and Cluster DBAs could be asked to set up a full cluster. There are many details to be worked out.

One of these details are tools that do not come with your MySQL Server. I find the MySQL Administrator a very valuable tool for quick, day-to-day DBA tasks. I am probably not alone in using it. But would it be fair to allow it on a hands on exam? How about other tools?

So, if YOU have an opinion, please let me know and help guide the MySQL 6.0 Exam development.

Friday, May 23, 2008

CMA Exam -- Transactions

The Certified MySQL Associate Exam is a general overview of the MySQL database. It is designed for those new to databases and/or MySQL.

The subject of transactions has caused a few folks to stumble on their exams. For someone with a background in programming where you change data and it stays that way, transactions take a little effort to understand.

The usual example is a payment at a bank. A pays B 100 units. If something happens between the time the system takes the 100 out of A's account and puts it into B's account, there is a large chance that both A and B will not be happy. So the subtract 100 and add 100 are treated as one unit and either both have to be completed as a unit or not at all.


So all or nothing.

You type START TRANSACTION, input the needed changes, and COMMIT. And your changes are done as one to your database. Or half way through you realize that something is wrong and use ROLLBACK to get back to where you were when you typed START TRANSACTION.

Almost.

First, you have to use a storage engine that supports transactions. Try using START TRANSACTION and COMMIT with MyISAM and see how it reacts.

Second, some commands like CREATE TABLE, DROP TABLE, or UNLOCK TABLES (see MySQL Reference Manual section 12.4.3) can cause MySQL to implicitly issue a COMMIT on your behalf. You have better know these to help you pass the exam and to keep your sanity on the job.

Sunday, May 11, 2008

DBA Knowledge

Work on the next generation of MySQL Database Administrator Exams has started and it raises the question of 'What does a DBA actually do?

The vivacious Sheeri Kritzer Cabral had a list of Best Practices for Database Administrators that is a good starting point. A lot of the items she lists are hard to quantify, especially for someone who has to write performance reviews and make salary increase recommendations.

I used to work for a program manager who was very good at managing developers by the numbers of lines of code generated, bugs fixed, and number of hours spent in the little gray cubicles. DBA work is not as easy to quantify. It was frustrating for both of us as there was no discrete output to log, report and graph. And how can examining buffer cache hits rates be valued by an employer in comparison to someone putting new options on a web page.

There is not a little pile of widgets at the end of the day to count and then divide by the numbers of hours worked to prove productivity. So, let us look at the quality of the work instead of a quantity.

What should a very good DBA fresh off the street be able to do the first day of a new job? Or what are the things you should check on a new job.


  • Check to make sure the root account has a password? Do all the accounts have passwords? Do the hosts exclusion or inclusion fit the current network?
  • Are backups being made? Are they any good? IS everything being backed up?
  • Is replication running?
  • Is the server optimized?
  • What versions of software are in use? How old is that?


So the next generation of exams are going to be less based on knowledge of syntax, options or keywords and more on actual job performance. New advances in testing technology will allow us to quantify skills with a MySQL database and add much more value to the MySQL Database Administrator Certification.

More on the new exams will be posted here when the news is available.

Sunday, May 4, 2008

Getting Started wit MySQL & North Texas MySQL

Saturday was the Dallas Tech Fest. Several hundred developers heard presentations on the latest and greatest from several vendors and speakers. Sun was was on the sponsors and I spent a few hours meeting and greeting.

Several people were interested in MySQL but had no idea where to start. MySQL's download page really needs a 'hey, first timers who want to learn MySQL, click here to get the server and GUI tools in one fell swoop'.

As one of the shrinking numbers of CLI-centric dinosaurs, I acknowledge that most of the world prefers point-and-click and the MySQL Administrator makes quick work of many statements that require fussy typing. The Query Browser is also one of those tools that quickly becomes a regular in your arsenal. Add in the Workbench and you have a pretty complete set of tools for designing, administrating, and using your databases.

Then you need a good book on MySQL. I will try to do a rapid review next entry.

--

If you are in the Dallas/Fort Worth Area, Monday night at 7:00pm will be a meeting of the North Texas Linux Users Group. We will have a quick presentation on getting started with MySQL on Unbuntu. Then we will discuss moving the meetings to someplace more Dallas-centric (or not) like the Sun Office off the Dallas Tollway. After the meeting, adults can go celebrate the day most of Americas thinks is Mexican Independence Day (it is really in September but 'Cinco De Mayo' is a little easier to pronounce for non-Spanish speakers than the 16th of September in Spanish).

Tuesday, April 22, 2008

Certified MySQL Associate

There was a lot of confusion at the recent MySQL Users Conference about the Associate exam. One recovering Oracle DBA took the test after a little persuasion (and two months of MySQL use) and was surprised how much they knew. The Associate or CMA is designed for those new to MySQL and have some hands-on experience.

The best way to prepare for the Certified MySQL Associate exams is to take part in the MySQL for Beginners training course offered by MySQL AB. It is also possible to prepare for the certified MySQL Associate exam through self-study. Candidates that choose to prepare themselves through self-study should consider purchasing the MySQL 5.0 Certification Study Guide.

The material on the exam is an overview of the basics. 25% of the exam is on basic data manipulation using SQL -- adding, updating and deleting data. Another 25% is on creating tables and indexes. Grouping and joining make up another 20%. The last 30% is on terminology, transactions, and export/import.

So if you have created a database, entered data, changed some of that data, and have retrieved that data with a 'WHERE' and a 'GROUP BY' then you are most of the way there.

Thursday, April 17, 2008

Final results from the UC exams

Four in the afternoon hit all too quickly today at the UC. 209 exams were delivered with 182 people passing. We had a few minor technical glitches but thanks to the very hard work of the Certification Team's all star players Christine Fortier and Ricky Ho (who managed to perform miracles on a routine basis while getting me trained on how UC exams really work) the three days of testing just went by in a blur.

Thanks to all who participated in the exams this year. There were a lot of very special people at the UC that we got to meet at the Magnolia room.

And special thanks to Jay Pipes who handled the UC and my tedious questions with such ease despite having no luggage for most of the conference.


Exams Pass Fail Total
Associate 11 0 11
Cluster 7 0 7
DBA-I 57 10 67
DBA-II 46 3 49
DEV-I 34 9 43
DEV-II 27 5 32
Grand Total 182 27 209



UC 2008 Exam Results
ID Exam Grade
1 Developer-II fail
227 DBA-I pass
227 DBA-II pass
1024 Developer-II fail
1444 Cluster pass
2123 Developer-I pass
2123 Developer-II pass
2637 DBA-I pass
2715 DBA-I pass
2715 DBA-II pass
2776 DBA-I pass
2776 DBA-II pass
3824 DBA-I pass
3824 DBA-II pass
4532 Cluster pass
4774 DBA-II pass
5355 DBA-I pass
5355 DBA-II pass
5645 DBA-I pass
5688 DBA-I pass
5688 DBA-II pass
5830 Developer-I fail
5903 Cluster pass
6582 CMA pass
6786 DBA-I pass
6804 DBA-I pass
6804 DBA-II fail
7042 DBA-I pass
7042 DBA-II pass
7075 Cluster pass
7075 DBA-I pass
7075 DBA-II pass
7347 Developer-II pass
7424 Developer-II pass
7529 CMA pass
7529 DBA-I fail
7529 DBA-I pass
7529 DBA-II pass
7529 DBA-II pass
7529 Developer-I pass
7875 Developer-II pass
7927 DBA-I pass
7927 DBA-II pass
8218 DBA-I fail
8459 Developer-I fail
8459 Developer-I pass
8459 Developer-II pass
8853 Developer-I pass
8853 Developer-II pass
8874 Developer-I pass
8874 Developer-II pass
8945 DBA-I pass
9017 CMA pass
9047 DBA-I pass
9101 DBA-I pass
9101 DBA-II pass
9106 DBA-I pass
9106 DBA-II pass
9122 DBA-I pass
9122 DBA-I fail
9127 CMA pass
9127 DBA-I pass
9127 DBA-II pass
9127 DBA-II pass
9152 DBA-I pass
9152 DBA-II pass
9176 DBA-I pass
9176 DBA-I fail
9176 DBA-II fail
9176 DBA-II pass
9206 Developer-I fail
9234 DBA-I pass
9234 DBA-II pass
9241 DBA-I pass
9241 DBA-II pass
9270 DBA-I pass
9270 DBA-I fail
9276 Developer-I pass
9276 Developer-II pass
9294 Developer-I fail
9294 Developer-II pass
9300 Cluster pass
9300 DBA-I fail
9310 Developer-I pass
9310 Developer-II pass
9311 DBA-I pass
9311 DBA-II pass
9312 CMA pass
9312 DBA-I pass
9312 DBA-II pass
9312 Developer-I pass
9312 Developer-II pass
9319 Developer-I pass
9319 Developer-II pass
9320 DBA-I pass
9348 DBA-I pass
9348 DBA-II pass
9358 DBA-I pass
9358 DBA-II pass
9359 DBA-I pass
9359 DBA-II pass
9364 Developer-I pass
9367 DBA-I pass
9367 DBA-II pass
9368 CMA pass
9374 CMA pass
9374 DBA-I pass
9374 DBA-II pass
9374 Developer-I pass
9374 Developer-I pass
9375 DBA-I pass
9375 DBA-II pass
9376 Developer-I pass
9379 Developer-I pass
9379 Developer-II pass
9383 DBA-I pass
9383 DBA-II pass
9384 Developer-I pass
9384 Developer-II pass
9385 Cluster pass
9386 Developer-I fail
9386 Developer-II fail
9388 CMA pass
9388 Developer-I pass
9392 Developer-I pass
9392 Developer-II pass
9393 Developer-I pass
9394 DBA-I pass
9394 DBA-II pass
9394 DBA-II pass
9394 Developer-I pass
9394 Developer-II pass
9395 Developer-I pass
9395 Developer-II pass
9396 Developer-I pass
9396 Developer-II pass
9397 Developer-II pass
9400 Developer-I pass
9400 Developer-II pass
9401 DBA-I pass
9401 DBA-II pass
9404 Developer-I pass
9404 Developer-II pass
9408 DBA-I pass
9408 DBA-II pass
9409 Developer-I pass
9410 DBA-I pass
9410 DBA-II pass
9411 Developer-I fail
9412 DBA-I pass
9412 DBA-II pass
9413 DBA-I pass
9414 DBA-I pass
9415 DBA-I pass
9415 DBA-II fail
9416 Developer-I fail
9416 Developer-II pass
9417 CMA pass
833543 DBA-II pass
833543 DBA-II pass
833548 Developer-I pass
833548 Developer-II pass
833578 Developer-I pass
833578 Developer-II fail
838120 DBA-II pass
838154 DBA-I pass
838221 DBA-I pass
838221 DBA-II pass
838225 DBA-I pass
838225 DBA-II pass
838267 DBA-I pass
838267 Developer-I pass
838267 Developer-II pass
838278 Developer-I pass
838278 Developer-II pass
838281 DBA-I pass
838281 DBA-II pass
838303 Developer-I pass
838303 Developer-II pass
838306 DBA-I fail
838324 Developer-I pass
838324 Developer-II fail
838330 DBA-I pass
838330 DBA-II pass
838334 DBA-I pass
838334 DBA-II pass
838413 CMA pass
838413 Developer-I pass
838415 CMA pass
838416 Developer-I fail
838417 DBA-I pass
838418 DBA-I pass
838419 DBA-I fail
838420 Developer-I pass
838420 Developer-II pass
838422 Developer-I fail
838423 DBA-I pass
838424 Cluster pass
838424 DBA-I pass
838424 DBA-II pass
838425 DBA-I pass
838425 DBA-II pass
838427 DBA-I pass
838427 DBA-II pass
838428 Developer-I pass
838429 Developer-I pass
838430 DBA-I pass
838431 DBA-I fail
838432 DBA-I fail

Wednesday, April 16, 2008

UC Exam Results Day 2

The first persons I met at the UC this year were David Minor and his daughter. David told me he was interested in the Certification Exams and bravely took the plunge on his first exam Tuesday morning. I am very happy to announce he has earned his Associate, Developer and DBA Certifications. Congratulations to David and all the others who took exams.

Thursday is the last day for conference attendees to take their exams for only $25. We will open the exam room at 8:30a and let people take exams until 3:00p. So save $175 or wait until the 2009 Users Conference.

Today we still had problems for those who had not set up their account with Pearson VUE BEFORE taking their exams. Since we hang the certification exams off the data from those accounts. The results below do not include the thirty plus exams waiting for this data.



Exams Pass Fail Total
Associate 6 0 6
Cluster 5 0 5
DBA-I 35 6 41
DBA-II 18 1 19
DEV-I 16 4 20
DEV-II 10 0 10
Grand Total 90 11 101



ID Exam Grade
1444 Cluster pass
2123 Developer-I pass
2637 DBA-I pass
2715 DBA-I pass
2715 DBA-II pass
3824 DBA-I pass
3824 DBA-II pass
4532 Cluster pass
4774 DBA-II pass
5355 DBA-I pass
5688 DBA-I pass
5688 DBA-II pass
5903 Cluster pass
6582 CMA pass
6786 DBA-I pass
7042 DBA-I fail
7042 DBA-II pass
7075 DBA-I pass
7075 DBA-II pass
7424 Developer-II pass
7529 DBA-I pass
7529 DBA-I pass
7875 Developer-II pass
7927 DBA-I pass
8459 Developer-I pass
8459 Developer-I fail
8459 Developer-II pass
8874 Developer-I fail
8874 Developer-II pass
9047 DBA-I pass
9101 DBA-I pass
9101 DBA-II pass
9106 DBA-I pass
9122 DBA-I fail
9127 CMA pass
9127 DBA-I pass
9152 DBA-I pass
9152 DBA-II pass
9176 DBA-I fail
9176 DBA-I pass
9176 DBA-II pass
9176 DBA-II fail
9206 Developer-I fail
9234 DBA-I pass
9241 DBA-I pass
9270 DBA-I fail
9270 DBA-I pass
9276 Developer-I pass
9276 Developer-II pass
9294 Developer-I fail
9294 Developer-II pass
9300 Cluster pass
9300 DBA-I fail
9310 Developer-I pass
9310 Developer-II pass
9311 DBA-I pass
9312 CMA pass
9312 DBA-I pass
9312 DBA-II pass
9312 Developer-I pass
9312 Developer-II pass
9319 Developer-I pass
9319 Developer-II pass
9320 DBA-I pass
9348 DBA-I pass
9348 DBA-II pass
9358 DBA-I pass
9358 DBA-II pass
9359 DBA-I pass
9359 DBA-II pass
9367 DBA-I pass
9368 CMA pass
9374 CMA pass
9374 DBA-I pass
9374 DBA-II pass
9374 Developer-I pass
9374 Developer-I pass
9375 DBA-I pass
9376 Developer-I pass
9379 Developer-I pass
9383 DBA-I pass
9384 Developer-I pass
9385 Cluster pass
833543 DBA-II pass
833543 DBA-II pass
833548 Developer-I pass
838154 DBA-I pass
838221 DBA-I pass
838225 DBA-I pass
838225 DBA-II pass
838267 DBA-I pass
838267 Developer-I pass
838278 Developer-I pass
838281 DBA-I pass
838303 CMA pass
838303 Developer-I pass
838303 Developer-II pass
838306 DBA-I fail
838324 Developer-I pass
838334 DBA-I pass
838334 DBA-II pass

Tuesday, April 15, 2008

Preliminary Day One Results

Whew! Today was the first 'production' day of certification exams at the Users Conference. We also had a Q&A Session where we gave out door prizes to just about everyone present.

Tomorrow we start at 9am, another

We still have some folks that need their Pearson VUE registration to come through the system before we can enter their grades (Hopefully after 9PM Pacific) but here are the preliminaries:

ID Exam Grade
2715 DBA-I pass
2715 DBA-II pass
3824 DBA-I pass
3824 DBA-II pass
4774 DBA-II pass
5688 DBA-I pass
5903 Cluster pass
7042 DBA-I fail
7075 DBA-I pass
7424 Developer-II pass
7529 DBA-I pass
7875 Developer-II pass
8459 Developer-I fail
8874 Developer-I fail
9122 DBA-I fail
9127 CMA pass
9127 DBA-I pass
9152 DBA-I pass
9176 DBA-I fail
9176 DBA-II fail
9206 Developer-I fail
9234 DBA-I pass
9270 DBA-I fail
9294 Developer-I fail
9300 Cluster pass
9300 DBA-I fail
9310 Developer-I pass
9311 DBA-I pass
9312 DBA-I pass
9312 DBA-II pass
9319 Developer-I pass
9348 DBA-I pass
9358 DBA-I pass
833543 DBA-II pass
833548 Developer-I pass
838154 DBA-I pass
838225 DBA-I pass
838225 DBA-II pass
838267 DBA-I fail
838306 DBA-I fail





Congratulations to those that passed and please try again if you did not.

If you are at the UC and have NEVER tested with us before, go to http://www.pearsonvue.com/mysql and setup an account. We can not put your results into the system until you do this. That part is free.

Pay for the UC exams $25 at the O'Reilly registration desk and bring the card they give you in return to the desk outside the Magnolia room.

Those wishing to RSVP for the late session need to contact Christi Fortier and make sure she has you contact information. She is at the above mentioned desk outside the Magnolia room.

Monday, April 14, 2008

UC Exams

It is finally exam time at the Users Conference. The Magnolia Room where the exams will be given is just past the escalators in the lobby area. Over 20,000 pieces of paper have go into the exams and two staplers were sacrificed in preparation for the six exam sessions. As you can see from the photo, we have plenty of seating just ready for you.

Actually I have been giving exams since Sunday to MySQL Employees who are going to be busy working during the normal exam time.

If you are at the UC, please be sure to stop by to say hello to Christi, Ricky, and me. And thank you for your support of MySql.

Tuesday, April 8, 2008

User Conference Next Week

Time was invented so everything doesn't happen at once -- S. Wright

Next week is the MySQL Users Conference and getting ready to deliver six plus sessions of exams is quite an exercise in logistics. There are six scheduled sessions. We have only so many seats and so much time for the tests so those of you planning to take an exam need to plan accordingly.

You will find us in the Magnolia Room in the Hyatt Hotel, which is not exactly right next to all the action. Look for signs and ask for directions if you need help.

In the place of computers you would find at your local Pearson VUE test center, we are using pencil and paper (I wonder if paper was ever marketed as Papyrus 2.0 or Cuneiform Tablets++). This is one of the reasons the exams are $25. We will post exams results as quickly as we can.

There will be a Q&A session on Tuesday between 1:00PM and 1:30PM. We will have door prizes for those attending. Please drop by and say hello.

Saturday, March 29, 2008

User Conference Exams just $25

Hopefully you are attending the MySQL Users Conference and are going to take advantage of the very deeply discounted exam prices. Normally the exams are $200 but we offer them at the UC for $25.

There will be two sessions each day of the three day conference. The session are at 10:30 and 13:40 for ninety minutes. And there is a special Exam Q&A Session will be held in the Magnolia Room, Tuesday from 1:00 pm - 1:30 pm.

We will be offering the Developer I & II, DBA I & II exams, and the Cluster exam. Please remember the Cluster exams is for those who already have the DBA certification.

The website omits mention of the Associate Exam but we will be offering that one also.

All exams will be administered in the Magnolia Room on the lobby level of the Hyatt Regency Santa Clara (adjacent to the convention center).

In order to attend an exam, you must bring:

* Payment voucher (obtained at the registration desk)
* Photo ID
* MySQL Certification Candidate ID number. If you do not already have a Certification Candidate ID number from earlier exams, you must obtain one HERE.

Because time is at a premium, please make sure you have met those requirements or you could miss an exam session.

And if you have all your certifications, please drop by and say 'hi'!

Thursday, March 20, 2008

MySQL Certification Newsletter

Apologies to those on the MySQL Certification Mailing list but I am posting here what went out today to that list. But I wanted to make sure the information was available to all who may be interested. You may consider adding yourself to the list and a link is provided at the end of this entry to help. It is a very LOW bandwidth and heavily moderated list.

MySQL Certification News -- March 2008

2007 was a great year: MySQL Certifications had a great year last year. Over 45% more exams were delivered than in 2006 and certifications earned were up by almost a third! The new Associate Certification is proving to be very popular. Thank you on behalf of The Certification Team and MySQL.

Users Conference: Once again you can take a MySQL Certification Exam at the Users Conference for $25. We will have six exam sessions over the three days of the conference. This is in addition to the tutorials, sessions, and great attenddes. Be sure to drop by the exam area to find out when we are going to have an informal reception. Signup at http://en.oreilly.com/mysql2008/public/content/home

MySQL has its own planet?!? If you have not discovered http://planetmysql.com, you are in for a treat. The best blogs on MySQL and related subjects can now be found in one place.

Free exam voucher for those who attend MySQL training for a limited time. Details at http://www.mysql.com/training/

How can we help? We are looking for ways to help you earn your MySQL Certifications. The exams are tough for a reason and we are not going to make them easier. So we are looking for your input on what we can do to help you. Do we run virtual study groups? Set up a special online form for each exam? So, what can we do for you? Let us know at Certification@MySQL.Com

MySQL 6.0 Exams: Next year MySQL 6.0 will take the world by storm and the MySQL Certification Exams will be upgraded to match the new release. The MySQL Certification Team would like to hear your thoughts on then next generation of exams.
Do we retain two exams (DBA-I & DBA-II or Dev-I & Dev-II) for the DBA and Developer exams? Or do we need to go to three exams to cover Falcon, partitioning, and all the other new features? Could the material be covered on one very long exam?
So please help us design the 6.0 exam by sending your ideas to Certification@MySQL.Com with the subject line set to '6.0 exam'.

Thank you for your support of MySQL.

You can unsubscribe (or get any interested co-workers to subscribe) to this list at http://lists.mysql.com/certification

Wednesday, March 19, 2008

Warning for MySQL exam takers at the User's Conference

One of the best deals at the MySQL Users Conference is the deep discount on certification exams. For a mere $25, you can take exams that are normally $200. But those of you planning to take your exams next month need to know some facts before your arrive.

First: All the really hot sessions with the great presenters who will fill your skull with knowledge just by their presence (and tell all the best SQL jokes) are scheduled at the same time as the exams. There are only six exam session and the six hottest presentations just happen to be at the same time. I am not sure if this is karma, bread slice falling butter side down physics, or part of an intricate plan but it falls into the 'it is a feature not a bug' realm. So read the agenda and plan your exam schedule. Trying to hurry through an exam to catch the end of a presentation will do justice to neither activity.

Second: Know the exam material BEFORE you sit down for the test. The exams are not easy and spending time in six test session to pass one exam is not the best use of your time. You have an opportunity to meet some of the smartest folks in the world at the conference and may miss it by cramming for the exam.

Third: Sign up as a certification candidate at Pearson Vue if you are not in the certification system. Your score will be returned to you much faster if you are in our database. This step costs you nothing but time now. At the conference, time is too valuable to spend on administrivia.

Fourth: Do not judge your exam experience by others taking exams at the same time. Some folks are fast. Some folks are not. Some are going to pass while others are not. Work at your best pace, which should be seventy questions UNDER ninety minutes. See the second item above again. You will not be sitting near anyone take the same exam as you so do not judge your pace by those around you.

Fifth: The User Conference is an amazing event. You will be exposed to a multitude of new ideas, new friends, and will see the MySQL world through a different set of eyes. As much as I personally love to have people take the MySQL exams, it is only a tiny part of the UC.

There will be an informal 'reception' one night in the exam room (look for details at the UC). Please drop by if you have a chance. Some of the authors of the Cluster Study Guide are planning to be there. This is also a good way to give us your views on certification.

Monday, March 17, 2008

DBA Interview Questions

Snappy Interviews: 100 Questions to Ask Oracle DBAs is one of those valuable books that you need to have in your library if you interview Oracle talent or are a technical recruiter.

I am neither right now, but author Christopher Lawson has some great advice for interviewers. There is an art to asking questions and this book is skillfully written to show this art.

Niche questions seeking very arcane knowledge do not test the breath of skills and knowledge of a interviewer. A few questions on minutia are fair game. But you want to quickly access what is in the candidate's skull as relates to the job at hand and not ascertain if they would be a good partner for Trivial Pursuit.

Question the understanding of concepts. The ability to recite rote memorized lists usually fails at three o'clock in the morning. And ask about the entire breadth of the position, just not one small segment.

These have been unstated goals of the MySQL Certification exam questions. We do not ask for a lot of SYNTAX or ask for a series of mouse clicks. The goal is to test how well you know MySQL products.

So if you are interested in this book, use 'snappy oracle' as search words at Amazon or head to www.oraclemagician.com





Every company seems to have 'those' interview questions that is designed to put interviewees in exceedingly nervous mode. 'Can you name the former Presidents of the United States that are not buried in the United States?' Microsoft had a reputation for this type of questions. Sometimes they are funny. Too often they fall into the James T. Kirk/Kobiashi-Maru level of trivia.

Anyone have any of these questions to share?

Thursday, March 13, 2008

How hard is that MySQL Certification test?

"So hard hard is that MySQL DBA Certification?" I was asked by two different individuals just a few hours apart. The first was a prospective candidate asking for study guidance. The second was project manager who has the general view that certifications are not worth the paper they are printed on and only represent someones ability to regurgitate answers previously fed to the test taker.

So how tough is the test? Forty percent of those taking the DBA-I fail. DBA-II only fails twenty four percent.

I would hope that simple regurgitation would provide more than a sixty percent pass rate.

The Developer exams have a 72 and 75 percent pass rate. The Associate exam has a 77 percent pass rate and the cluster is just over 80 percent.

The MySQL DBA exams are tough. I had been using MySQL since the days when you downloaded it from tcx.se when I took the exams last year. The study guide and sample questions were pretty well reviewed. And still some of the questions made me doubt how well I new the product.

You are expected to have six months to a few years hands-on experience for the DBA and Developer exams. Pilots will tell you there is no substitute for 'seat time' or time spent doing. I have spent a lot of time on analysis of the certification test results and it is fairly obvious when someone skims the certification guide and tries to wing it. You are not passing go and you are paying $200.

So for the potential candidate I mentioned, I gave him the same advice covered in earlier editions of this blog. There are no shortcuts and he is in for a lot of hard effort.

Sunday, March 9, 2008

SWSX Meetup; Which cert for PHP types

We had the Meetup in Austin featuring Zack Urlocker on March 9th. He was in Austin for the South By Southwest Festival. Part of SWSX was Sun's sponsored concert by Seven Mary Three and the Smithereens. Plus there was the added bonus of meeting members of the local community and SWSX conference attendees. And it was a good opportunity for the Texas MySQL-ers to gather together. Long story short is that we had a great meal, met some very nice people from Sun, and head lots of great music. Look for the Sun/MySQL Meetup/Mashup near you. The people are great and the events are a lot of fun!

--

I was asked which is a better certification for the 'average' PHP developer : The Developer or DBA? Most of the PHP shops I know of (or have employed me) are very small and one person has to cover a lot of territory. This brings us to a 'which came first, the chicken or the egg' type dilemma. Do you follow the strict developers tract and learn to squeeze all you can out of your schema or a DBA path to keep your servers running at the peak of performance? In a small shop, you are going to probably be responsible for both.

I would recommend the DBA certification first followed by the Developer. It is easier to write good code in a properly running environment than in a situation where you can not tell if your code or the sever is at fault.

Friday, March 7, 2008

Tales from the DBA wars, Part I

Humorous Pictures

Good database administrators have to plan for the worst. You make a script to backup your data, make sure the script runs properly under cron, store copies of the backups off site, test to make sure you can restore from an old backup, and you still are almost comfortable with the safety of your data. Something in recesses of your mind whispers an almost audible message that you forgot to check one thing. 'What could it be?' you ask yourself in the sleepless hours spent looking for your Achilles Heel.

A friend sent me an email this morning to tell me he wanted to pull back an old copy of a large database that he had backed up months before. The backup was in a file named DEPT072-may-06.sql. So he did the following:

Linux> mysqladmin create scratchdb
Linux> mysql scratchdb > DEPT072-may-06.sql


And then he walked away to get a fresh cup of coffee. When he returned, he was surprised to find out the restore was still running. But it was a big database. Big databases take time to restore. A little while later he glanced over and was dumb founded to find that the restore was still running. Then he spotted the problem.

Or should I say, the first problem.

He meant to type:

Linux> mysql scratchdb < DEPT072-may-06.sql

He corrected the '>' and then found his second problem. The backup file he need to restore from was now a zero length file. D'oh!

So a word to the wise -- Good DBAs plan for all contingencies AND pay attention to what they are doing to avoid making a mess.

Monday, March 3, 2008

Austin Meetup

Hey Texans!

This Sunday (3/9) Sun will be hosting an event at La Zona Rosa in Austin and has invited MySQL'ers and community members. Music will be from the Smithereens and Seven Mary Three. And Zack Urlocker will be in attendance.

We up in Dallas are trying to get a group to head South and hope to see you there.

If you are in the Austin area or can get there, this is a great opportunity to socialize.


Addressing your address

Attention MySQL certification candidates and those of you have earned your certifications: Please let us know if you have a new address or email.

First: This keeps us from sending your certificates to your old address. Tracking down your certification package can be very expensive in time and money.

Second: Our recent purchase by Sun means that our certification data will soon be rolled into Sun's certification database. Please help me out by having your data up to date.

So how do you update your address? You can update your data at Pearson VUE's website or send an email to Certification@MySQL.com

Please take two minutes today to save hours of very hard work in the future!

Friday, February 29, 2008

PROCEDURE ANALYSE()

MySQL DBA Certification candidates need to know about a little known but important function.

PROCEDURE ANALYSE() is a rarely used function in these days of inexpensive disks. It is mainly used to suggest optimal column sizes. Forty years ago you needed to worry how to properly encode data so that it would fit on an eighty column punch card. Thirty years ago when hard disks were the size of stove or dishwasher, there was a need to conserve as much space as possible. Today people carry gigs of data in their pocket and a terabyte of disk is available at local stores next to other consumer products. So you can be less than optimal in your storage of data for the most part. There are exceptions. Remember that a smaller width index is going to be a faster index.

Let us pretend that we need to create a table to track item numbers and our data architect, boss, or SWAG tells us there will only be twenty item numbers, ranging from 1 to 20. And by the way, the boss wants efficiency.

mysql> CREATE table x1 (item INT(4) NOT NULL);

No insert the values 1 to 20 and analyze.


mysql> SELECT item FROM x1 PROCEDURE ANALYSE()\G

You will get information on the minimum and maximal values, the minimal and maximal data length, and a suggested optimal field type. In this case a TINYINT(2) UNSIGNED NOT NULL is recommended.

mysql> ALTER TABLE x1 MODIFY item TINYINT(2) UNSIGNED NOT NULL;

You can show your boss that the table is optimized and the rest of the company is so inspired by the news that they start creating more items. Then one day you get a call from two very upset project managers. It seems that item #255 is being used for two items. What happened?

Well, TINYINT UNSIGNED holds the values 0 to 255 and will mangle values over 255 to 255. So you rerun the PROCEDURE ANALYSE() and receive the recommendation to change the filed in question to TINYINT(3) UNSIGNED. But remember TINYINT is not going to let you store anything bigger than 255. So you check the numeric types manual page and go to the next larger data type, SMALLINT.

PROCEDURE ANALYSE() can be a double edged tool. In the first case it helped. In the second case it had no idea you needed bigger values and gave you a recommendation based on bad data. Like most tools, PROCEDURE ANALYSE() needs to be used properly to get the desired results.

Running PROCEDURE ANALYSE() on your tables from time to time can help you spot potential fields getting squeezed for space.

Thursday, February 28, 2008

Practice, practice!

There is an old joke about the concert violinist on his first visit to New York City who finds himself lost and late for rehearsal. So he asks a police officer, "How do I get to Carnegie Hall?"

The cop answers, "Practice, practice!"

If you new to the world of databases (or MySQL's world of databases) and want to do well on your MySQL certification tests, one of the best things you can do to internalize the knowledge needed is to practice. And the best practice tool is out there for free at http://dev.mysql.com/doc/ under Example Databases.

The MySQL Student Guides from our excellent training classes and our Certification Guides use the World database in their examples. I encourage you to type in the examples and work through any exercises our questions with this wonderful collection of tables.

Then work up your own exercises. Write a query to display the head of state and capital from each country or find the average population for each square mile and kilometer.

Many of us learned to program in C by typing in the K&R 'Hello world' program (and not doing it right the first time). Working through the examples is worth the time and effort.

------

It is almost time to send out a quarterly newsletter to those of you on the MySQL Certification E-mail list. There are lots of things to be covered such as certifications at the Users Conference, how Sun's purchase of MySQL will make subtle changes in the certification program, and exciting things that I can not even hint about right now.

But are there anything you want to know or want emphasized?

Remember there is no such item 'dumb question', unless you ask how to get to Carnegie Hall

Wednesday, February 27, 2008

Hint for CMDBA candidates

Many CMDBA (Certified MySQL Database Administrator) candidates give away points on their exams that could be remedied with a half hour of exploration. This is not an easy set of exams but there is something you can do to add points to your score. The way to do this is to install MySQL on a Windows system.

Many in the FOSS world may never actually touch a Windows system. But if you look around, you may be able to find an older, unused system sitting around for this exercise. Many folks have older windows systems gathering dust that you can borrow.

Once you have the Windows box, here is a three part exercise to help boost your exam scores.

One: Download and install the Windows binaries. The install features a wizard to guide you through installation. You will now have an instance of MySQL on your system.

Two: Track down the configuration files and add a second instance.

Three: Get this second instance running.

This simple exercise should not take a hour of your time on even the slowest of Windows systems.

That is it. End of exercise.

Saturday, February 23, 2008

Order and guarantees

The Certified MySQL Associate exam is the entry level exam for those new to MySQL and it covers a lot of the basics. Sometimes the basics are so basic that they are not obvious.

Suppose you have a table with dozens of columns that has been in production for a period of time and you issue the statement 'SELECT * FROM long_used_table;'. What order will the records be returned from the server?

Well, it depends. And a second try with the same statement may give you different results. The rule is that there is not a guaranteed order. If you want the data in a specific order you need to add ORDER BY, i.e. 'SELECT * FROM long_used_table ORDER BY special_index;'.

Now, on the CMA exam you are ask about this guaranteed order (or lack there of) in a very explicit fashion. In the other exams, it is not as straight forward and you have better have that internalized when reading the question. And in 'real life', this will catch you every time it can!

Friday, February 22, 2008

Are you hot or not?

Computer Weekly looks at MySQL as a hot skill to have. The full article is at:

http://www.computerweekly.com/Articles/2008/03/22/229539/hot-skills-mysql.htm

We at MySQL hear a constant plea from customers and partners looking for qualified MySQL developers and DBAs. The MySQL exams are the best way to prove your qualifications.

Not certified? Please try the test questions at: http://www.mysql.com/certification/selftest/core/index.php

Thursday, February 21, 2008

Default Fault

Have you run into the 'default fault'?

mysql> create table foo (t1 int not null, note char(10) default 'none');

Query OK, 0 rows affected (0.01 sec)


mysql> insert into foo values (1,'some');

Query OK, 1 row affected (0.01 sec)


mysql> insert into foo values (2);

ERROR 1136 (21S01): Column count doesn't match value count at row 1

mysql>

So why isn't the default value of 'none' automatically entered into the table? If you are an old hand at MySQL, you probably are smiling right now and remembering the first time you whacked you metaphorical toe on this situation. There is a question similar to this in the MySQL exam bank that separates the experienced pros from the newbies.

Okay, so how do you get the default value into the note field?

Hint:

mysql> insert into foo (t1) values (2);


Query OK, 1 row affected (0.00 sec)


mysql>


The table foo has two columns. Now 'insert into foo values (...' statement tells the server that you are going to have one column of data for each column in the table, even the ones with a default value.

The 'insert into foo (t1) values ...' statement tells the server you have one column of data and the server will graciously fill other columns with any default values you have specified.

Wednesday, February 20, 2008

Don't lose points on your next MySQL exam!

Judging by the test scores, the INFORMATION_SCHEMA is unfamiliar territory to many of you. Many other vendors besides MySQL support this standard and it allows you access to data that is unavailable or hard to find otherwise.

Back when I first downloaded the MySQL tarball from tcx.se, I did not know much about DBMS software and just needed a running database. Over the years I upgraded that software and did not dig deeper into the software because I did not need to. I was too busy with other job related duties to worry about my always smooth operating MySQL instances.

But one day the database seemed slow and the regular show commands were not giving me the answers I needed. So how do you dig further? Yup, the INFORMATION_SCHEMA.

The INFORMATION_SCHEMA is the meta-data about your tables. What storage engine, column names, collation, and stored procedures are out there lurking in your database. This is the 'big brother' view about your databases. And since the data is in tables, you can your SQL skills to retrieve the information.

So do some exploration of the INFORMATION_SCHEMA to learn more about your data. And that knowledge can help you the next time you take a MySQL Certification Exam.

---

Once again MySQL will be offering our certification exams at the Users Conference in April. See http://en.oreilly.com/mysql2008/public/content/home for details and be sure to say 'hi'. Last year over 400 exams were taken and space will be limited this year.
MySQL Conference & Expo 2008

Monday, February 18, 2008

DBA Exams and Optimize/Analyze

The MySQL optimize and analyze commands must be pretty confusing if judged by the CMDBA (Certified MySQL Database Administrator) exams. Hopefully this is because MySQL works wonderfully 'out of the box' and does not need a great deal of maintenance. I am looking at the questions on the exams where candidates are not performing as expected and optimize/analyze is a stumbling point.

There are several table maintenance operations that you need to know about to keep your database healthy. Failure to keep your database healthy can slow down queries and do other nasty things to your quality of life.

CHECK TABLE performs an integrity check on the structure and content of your tables. For MyISAM tables, it will also update the index statistics. If problems appear, proceed to ...

REPAIR TABLE is for MyISAM tables only and will correct corrupted tables. InnoDB tables should be dumped with mysqldump and restored.

ANALYZE TABLE updates a table's information about keys for queries so that the data can be found faster and not having to hunt for it. This works for both MyISAM and InnoDB.

OPTIMIZE TABLE defragments MyISAM tables, sorts indexes, and updates the statistics to speed up searches.

Automatic MyISAM repair can be enabled with the --myisam-recover option, either at startup or in a configuration file. You can direct the server to make a backup of any table before it changes, force recovery, or skip tables when then have no gaps from deletes or updates.

InnoDB will try to fix any repairs at startup as part of normal operations. But it is best to read the documentation on --innodb_force_recovery before you need to use it under pressure.

Please read the documentation on these commands and make sure you understand any locking issues before using them. With careful application, these commands can keep your data healthy.

Thursday, February 14, 2008

Exam Pointer Number 1

Do you know the difference between client programs and standalone programs?

The MySQL Certification exams have a series of questions about client programs spread among the six exams. The gist of the questions are that MySQL supplies some programs that need to connect to the mysqld server. These programs depend on having a running MySQL server with which to interact.

MySQL also supplies some programs that do not require a running server. The risk adverse would be wise to just shut down their database before using them. The myisamchk table-maintenance utility or myisampack MyIsam table compressor for examples. Read the documentation on myisamchk for the list of woes that can be befall the more adventurous.

Some of the questions on the exams are quite detailed on these various programs. But it is obvious that many candidates are not able to differentiate the two types of programs.

On one of of the exams, just over a third of the candidates could identify the difference between these two types of programs. That is a lot of people that could be damaging their data needlessly.

Wednesday, February 13, 2008

Reviewing exams

With MySQL 5.1 reaching release candidate stage, I have been reviewing ALL of the MySQL Certification exam questions to hunt down any items that may now have been superseded by the march of progress. And right now the Merge Storage Engine has caught my eye.

With 5.1 comes the ability to disable the Merge Storage Engine. It used to be that you could not disable the MyIsam, Memory, or Merge engines. They were compiled in and could not be disabled. They were a constant, solid and dependable. But now you can pass --skip-merge to mysqld and disable it.

Does this option effect a lot of people? I honestly don't know. But it will change a few questions on the certification exams. And it may make a great piece of knowledge if they ever publish the Trivial Pursuit MySQL Edition.

Wednesday, February 6, 2008

Sample MySQL Certification exam questions

Test your knowledge of MySQL! There are four sets of questions covering the four MySQL Certifications.

These questions are closely modeled on actual questions from the Associate, Developer, DBA, and Cluster DBA exams.

These questions are for entertainment purposes only. And hopefully those of you lacking your MySQL Certifications will entertain taking the exams!