November 2008

Compiling MySQL 5.1.x on Leopard

Just a quick not before I add this to the documentation set for the impatient people who want to start compiling MySQL 5.1.x

Just use this ./configure command line and you’ll be allright:

./configure --prefix=/usr/local/mysql \
--localstatedir=/usr/local/mysql/data \
--libexecdir=/usr/local/mysql/bin \
--libdir=/usr/local/mysql/lib \
--with-server-suffix=-standard \
--enable-thread-safe-client \
--enable-local-infile \
--enable-shared \
--with-zlib-dir=bundled \
--with-big-tables \
--with-readline \
--without-docs \

If you want to use other storage engines please add them on the last line. The possible engines are partition, daemon_example, ftexample, archive, blackhole, csv, example, federated, heap, innobase, myisam, myisammrg, ndbcluster. Please read the documentation for an explanation of all engines.

Follow a succesfull configure execution with ‘make‘ and ‘sudo make install‘ just like the regular installation.

After the installation restart MySQL and execute the command mysql_update to make sure all the databases are upgraded without problems.

If you want to compile PHP with this new version delete all the files that are not of the current date from /usr/local/mysql/lib and /usr/local/mysql/lib/mysql/.

MySQL 5.1 received GA status

Just to let you know that MySQL 5.1 has become GA and is now available for production use. It is a big upgrade and a lot has changed from 5.0. If you want to see everything that has changed please read “What’s new in MySQL 5.1“.

Please note that I’m currently testing 5.1 to see how the changes affect our setup, so please wait till I’m done before you upgrade. At first glance there are some major differences as my first compile attempt didn’t work. You now for instance have to indicate which storage engines you want to use during configuration to get them compiled, as this release boasts pluggable storage engines.

I will post again within a few days with all the details on how you can upgrade yourself.

MySQL 20% performance difference between 64 and 32 bits version

As I was working with Ceriel from on compiling Apache, MySQL and PHP in 64 bit mode we both were interested in finding out if there is a big difference in performance. Getting the results took more time then first anticipated, Ceriel had a lot of problems getting the Perl DBD DBI components compiled as 64 bit modules which wasn’t as simple as expected.

But we finally got the MySQL Benchmarking suite running and we are happy to report that we found an avarage improvement of 20% when running MySQL in 64 bit mode. Which is a big improvement by just compiling the software for a different architecture.

We’ve ran the test by issueing the script ‘run-all-tests --fast‘. If you want the raw results please mail me or leave a comment.

Please note that this isn’t done as a scientific responsible test, it’s been done just off-hand to get an idea of the difference. We ran the tests on a Mac mini with a 2Ghz Core 2 Duo CPU with 4 Gb of memory. Your results might differ with different machine types.

Apache updated to 2.2.10

I got an email today from the reliable Apache announcement mailing list that a new version was released today. I’ve downloaded version 2.2.10 and compiled it right away on my test machine. I could not find a problem with this new version on my test mini. therefore I even tried it on my production server to see if that would work properly and it did.

This version has besides several bugfixes one security fix so please upgrade to this version whenever possible. Read all about the changes in the 2.2.10 changelog.

If you’ve forgotten how to upgrade your Apache installation in the least painfull way with a possibility to go back if something goes wrong: Upgrading Apache