OpenSQLCamp Boston 2010 happens 16-17 October 2010, at MIT in Boston (there is an evening social session on Friday the 15th as well). Its organised by MySQL community aficionado Sheeri Cabral, and by looking at the schedule and sponsors, it is going to be one of the most diverse OpenSQLCamp’s by far.

Monty Program is a sponsor, and I (Colin) will be participating on behalf of Monty Program to bring some information about what’s new from the Istanbul company meeting. More of the company certainly wanted to be at the event, but most are going to be spending some quality vacation time in Istanbul, since our all company meeting only ends on the 12th.

If you have not already registered to attend, what’s keeping you? Its free to attend, and Sheeri tells me that there’s some very cool schwag available for grabs.

There are more sites out there that have their backends running MariaDB. In fact, as we work to get it recommended alongside its upstream provider, it seemed time to have “Powered by MariaDB” logos. Check out the badges that Daniel created. Feel free to copy the images or hotlink them from the server.

Powered by MariaDB

As an aside, would any readers be interested in purchasing t-shirts or other MariaDB merchandise? What merchandise should we make, besides just stickers?

The intention from the start was to make upgrades to newer MySQL versions trivial. We have done a lot of work to keep data formats compatible (both in the .frm files and in the storage engines); when you install a new version of MySQL things should “just work”.

For a long time this was true, until MySQL 5.0 where we had to do some data incompatible changes, like in the way some characters were sorted and how end-of-line blanks were stored in indexes.

To make the upgrade process easy, we created the ‘mysql_upgrade’ program which should detect possible incompatible tables and automatically convert data as needed.

The full upgrade process (for your data) should always be as simple as:

  1. Install your new MariaDB / MySQL version.
  2. Start the mysqld server.
  3. Run mysql_upgrade.

Unfortunately, over time something has gone wrong. We found this out when a user recently tried to upgrade a big installation from MySQL 5.0 to MariaDB. The issues encountered included:

  • Tables with long names were not converted to the new 5.1 name format
  • Some InnoDB tables failed with the error: “Table upgrade required; Please do “REPAIR TABLE `xxx`” or dump/reload to fix it!”
  • The same failure for all ARCHIVE tables
  • Some strange error messages for some internal system tables

So the upgrade process for this user was actually:

  1. Install the new MariaDB / MySQL version.
  2. Start the mysqld server
  3. Run mysql_upgrade
  4. Make a list of all tables that failed to upgrade.
  5. Reinstall the previous MySQL version.
  6. Dump the problem tables with mysql_dump
  7. Remove the dumped tables.
  8. Install the new MariaDB / MySQL version again.
  9. Load the dumped tables.
  10. Test that nothing was missed with ‘mysql_upgrade –force’

We learned about the above problems on the #maria IRC channel and within 24 hours we had fixed all of the issues. We are happy to announce the full upgrade process is once again just the three step: Install new version, Start mysqld, Run ‘mysql_upgrade’.

We also added more options to mysql_upgrade and mysqlcheck (which is used by mysql_upgrade) to make it easier to find out what is happening if something does go wrong.

As part of the process (and to document the changes) we also added some new articles to our Knowledgebase about
upgrading from MySQL 5.0, mysql_upgrade and mysqlcheck.

We hope all the above will make the upgrade process much easier and more reliable for everyone!