Don’t miss the SkySQL & MariaDB Solution Day on April 13, 2012

I think a lot of folks are aware of this already, but just in case anyone missed it, let me post it again, as I’m quite excited about it.

What: SkySQL & MariaDB Solution Day
When: April 13, 2012 (Friday)
Where: The Hyatt Regency Santa Clara (5101 Great America Parkway Santa Clara, CA 95054)

Main Benefits:

  • Monty Widenius and David Axmark will reunite for the key note!
  • Six intensive tutorials!
  • Free Lunch!

You can sign up for it in just a couple of seconds here .. and best of all, it’s completely FREE:

This is the day after the Percona Live MySQL Conference And Expo 2012 so if you’re attending, be sure you stay the extra day, as it will be well worth it. 🙂

Furthermore, note that both Drizzle Day (4th Annual) and Sphinx Day (1st Annual) are also on the same day, so be sure to catch as much of all of these great programs (and resources) as possible too!

Safe travels and we hope to see you there. 🙂


Let your voice be heard – Help define the MariaDB 5.6 Roadmap

We’ve had quite a bit of feedback already, so many thanks to all of you who have shared your thoughts with us!

However, if you’ve not voted yet, please take a moment and let us know what you’d most like to see in MariaDB 5.6:

As always, thank you, and we look forward to hearing from you. 🙂


SkySQL is Hiring!

Just a note to let you all know that SkySQL is hiring! We’re currently looking for candidates for the following positions:

Or feel free to check out our Careers page or email us your CV, today, at


Bugs Page for MySQL and Friends

After completing my recent ‘downloads‘ page (similar to my ‘changelogs‘, ‘documentation‘, and ‘server variables‘ pages), it occurred to me that I should add a ‘bugs‘ page as well.

So, I’ve added a bug page, which has links to the main bug listing/reporting pages for MySQL, MariaDB (Aria), Drizzle, Percona Server (XtraDB), Xtrabackup, Sphinx, MONyog, and SQLyog (thus far).

Bug Page:

Hope this helps.

(And feel free to drop me a line if you have any suggestions.)


Building MariaDB 5.3 on Windows

I just wanted to share my steps for building MariaDB 5.3 on Windows. (Note, this is not much different than the instructions Wlad posted here).

But, things are not always so smooth, and of course I ran into a couple small issues, so I wanted to share my outputs plus those issues and their solutions (once again many thanks go to Wlad!) for those out there who might encounter the same.

Here are the steps to build:

  1. Download MariaDB 5.3 and extracted to C:\mariadb-5.3
  2. cd C:\mariadb-5.3
  3. mkdir bld
  4. cd bld
  5. cmake .. -G "Visual Studio 9 2008"
  6. cmake --build . --config relwithdebinfo --target package

* By making a sub-dir named ‘bld’ and cd’ing into it, you’ll keep all of your build files in their own dir. This way, it is easy to start over (just delete /bld/) and it also keeps your sourcedir clean and looking like it does originally.

** The last command is the build command issued from the command line. You could accomplish the same with the following commands from within Visual Studio:

VS2008: File -> Open -> Solution -> C:\mariadb-5.3\bld\MySql.sln
VS2008: Build -> Build Solution
VS2008: Right-click "PACKAGE" -> Build



C:\Users\Chris>cd C:\mariadb-5.3

C:\mariadb-5.3>mkdir bld

C:\mariadb-5.3>cd bld

C:\mariadb-5.3\bld>cmake ..
-- Building for: Visual Studio 8 2005
-- Check for working C compiler using: Visual Studio 8 2005
-- Check for working C compiler using: Visual Studio 8 2005 -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler using: Visual Studio 8 2005
-- Check for working CXX compiler using: Visual Studio 8 2005 -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - not found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of void *
-- Check size of void * - done
-- Using Aria for temporary tables
build ARCHIVE as static library (libarchive.lib)
build BLACKHOLE as static library (libblackhole.lib)
build CSV as static library (libcsv.lib)
build FEDERATEDX as static library (libfederatedx.lib)
build HEAP as static library (libheap_s.lib)
build ARIA as static library (libaria_s.lib)
build MYISAM as static library (libmyisam_s.lib)
build MYISAMMRG as static library (libmyisammrg_s.lib)
build PBXT as static library (libpbxt_s.lib)
build XTRADB as static library (libxtradb.lib)
build FEEDBACK as static library (libfeedback.lib)
build EXAMPLE as DLL (ha_example.dll)
build FEDERATED as DLL (ha_federated.dll)
build INNODB_PLUGIN as DLL (ha_innodb_plugin.dll)
-- Could NOT find Boost
-- Performing Test BOOST_OK
-- Performing Test BOOST_OK - Failed
build SPHINX as DLL (ha_sphinx.dll)
-- Looking for MFC
-- Looking for MFC - found
-- Cannot find wix 3, installer project will not be generated
-- Configuring done
-- Generating done
-- Build files have been written to: C:/mariadb-5.3/bld

I first compiled from within Visual Studio (alternate step #6), and here is the last line of that output:

========== Build: 84 succeeded, 1 failed, 2 up-to-date, 6 skipped ==========

(More on the 1 error below – but it’s safe to ignore.)

And here is the output from the command line compilation (since I did this second, there was not nearly the output, so I ‘ll post it all):

C:\mariadb-5.3\bld>cmake --build . --config relwithdebinfo --target package

Microsoft (R) Visual C++ Express Edition Version 9.0.30729.1.
Copyright (C) Microsoft Corp 2007. All rights reserved.
1>------ Build started: Project: PACKAGE, Configuration: RelWithDebInfo Win32 ------
1>Performing Post-Build Event...
1>CPack: Create package using ZIP
1>CPack: Install projects
1>CPack: - Install project: MySql
1>CPack: Create package
1>CPack: - package: C:/mariadb-5.3/bld/ generated.
1>Build log was saved at "file://c:\mariadb-5.3\bld\PACKAGE.dir\RelWithDebInfo\BuildLog.htm"
1>PACKAGE - 0 error(s), 0 warning(s)
========== Build: 1 succeeded, 0 failed, 86 up-to-date, 0 skipped ==========


Error Appendix:

CMake – Cannot find source file “”:

cmake ..
Cannot find source file ""


Upgrading CMake from 2.6 (2.6.4) to 2.8 (2.8.7) worked and eliminated this error. You can download it from here.


CMake – General Comment:

If you have previously installed Visual Studio 2005 and now have installed Visual Studio 2008 (or 2008 and 2010, or some other mix), it is probably best to specify the Generator when invoking cmake. I was getting various strange errors when I did not specify the generator of the Visual Studio I use to compile. Specifically, my cmake was using the VS2005 generator, but I was building with VS2008. So, I had to perform a conversion when opening the solution in VS, not to mention some other starange issues were occurring (saying I passed MFC test, but I was using VS2008 Express, so I did not have the proper MFC for VS2008). Similarly, cmake using relwithdebinfo failed too.


Instead of using:

cmake ..


cmake .. -G "Visual Studio 9 2008"

If you’re not sure what string to use for -G, simply run “cmake” from the command line, with no arguments, and it will display the various available options. For instance:

cmake version 2.8.7
The following generators are available on this platform:
  Visual Studio 10            = Generates Visual Studio 10 project files.
  Visual Studio 11            = Generates Visual Studio 11 project files.
  Visual Studio 8 2005        = Generates Visual Studio .NET 2005 project
  Visual Studio 9 2008        = Generates Visual Studio 9 2008 project files.


Build – afxwin.h missing error – mysql_upgrade_wizard error:

VS2008 Build ..
11>Build log was saved at "file://c:\mariadb-5.3\bld\win\upgrade_wizard\
11>mysql_upgrade_wizard - 1 error(s), 0 warning(s)
c:\mariadb-5.3\win\upgrade_wizard\stdafx.h(23) : fatal error C1083: 
Cannot open include file: 'afxwin.h': No such file or directory


Since this is just the mysql_upgrade_wizard, this can be ignored unless you specifically need this.

Otherwise, locate ‘afxwin.h’ and store it to the correct location.

Note that you’re likely receiving this if you using the Visual Studio Express Edition, as ‘afxwin.h’ is not available in the Express Edition, as described on the following pages:


Other common build errors and their solutions can be found here.


Related Build Links:


New MySQL Troubleshooting Book

I was searching around and was pleasantly surprised when I ran across this new MySQL Troubleshooting book by Sveta Smirnova:

“MySQL Troubleshooting – What To Do When Queries Don’t Work”

Having worked with Sveta in Support for years, I’m certain this book is chock-full of great troubleshooting techniques and advices (and you can get a good idea from the “Table of Contents” listed on the above page).

I’m always happy to see new MySQL-related books. 🙂

Congratulations, Sveta!

MySQL, MariaDB, XtraDB, et al Downloads

Similar to my other catch-all pages on Server Variables, Changelogs, and Documentation, I’ve added a new ‘Downloads’ section.

Basically, it’s just a single source containing links to all of your favorite MySQLs and related products, such as MySQL, MariaDB, XtraDB, Xtrabackup, MySQL Proxy, Connectors and more:

Hope this helps.


Building XtraDB on Windows

As you may or may not know, Windows is not yet a supported platform for XtraDB.

I thought I’d try to build it, and see what happens:

  1. Download XtraDB 5.5 Source
  2. cd C:\xtradb-5.5
  3. mkdir bld
  4. cd bld
  5. cmake ..
  6. VS08: File -> Open -> Solution -> C:\xtradb-5.5\bld\MySQL.sln

Build Ended With:

========== Build: 70 succeeded, 17 failed, 2 up-to-date, 10 skipped ==========

The first failure had to do with innobase:

18>Generating Code...
18>Build log was saved at "file://c:\..\innobase.dir\Debug\BuildLog.htm"
18>innobase - 9 error(s), 3 warning(s)

I checked the innobase build log and found this:
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found
..\ : error C3861: 'gettimeofday': identifier not found

The ‘gettimeofday’ function is a Unix-only (i.e., there is no direct analog of the gettimeofday() in Windows) .. more details here.

So, this part of the code has simply not been ported to Windows yet.

I got to looking, and it is a reported bug already:

But, do not worry. If you want to take advantage of the InnoDB enhancements found in XtraDB on Windows, you can simply use MariaDB.

There are pre-built MariaDB binaries for Windows, and MariaDB contains XtraDB+ (which is XtraDB plus some additional enhancements on top of it).


Hope this helps.

Stripping Comments so Query Cache Works in MariaDB and XtraDB

I recently noticed both MariaDB and XtraDB (not MySQL yet) have a (newer) variable query_cache_strip_comments.

This variable is great for those who want to append comments to various queries, but still want the query cache to be able to serve such queries. Unfortunately, with MySQL, this is not currently possible.

In the past, I wrote a post on using MySQL Proxy which described a technique of monitoring queries through the proxy by appending IP addresses to the queries so one could track where they originated from. However, one pitfall to that was the MySQL query cache *does not* ignore the comment and treats them all as different queries (see the user comments for further discussion). (I did subsequently enhance that functionality implementing the SHOW PROXY PROCESSLIST command (often used in the Proxy Admin module), in large part because of this limitation.)

To enable it (in MariaDB 5.3+ and XtraDB), just add query_cache_strip_comments under the [mysqld] section in your my.cnf file and restart mysqld.

Alternatively, you can also set it dynamically:

mysql> set @@global.query_cache_strip_comments=1;
Query OK, 0 rows affected (0.04 sec)

mysql> show global variables like 'query_cache_strip_comments';
| Variable_name              | Value |
| query_cache_strip_comments | ON    |

mysql> select version();
| version()     |
| 5.3.3-MariaDB |

Fwiw, from examining the source code, both implementations seemed to differ, but the end result is the same, and it’s a welcome addition, if you ask me. 🙂

Help Set the MariaDB 5.6 Roadmap with SkySQL and Monty Program

Part of every SkySQL subscription is paid to Monty Program to fund server development and improved functionality in MariaDB® (which is then sent upstream for inclusion in the MySQL® Server).

Thus, we’d like to know what you’d like to see in the upcoming releases of the server.

Please take a couple seconds (literally) and let your vote be heard:

We thank you and look forward to hearing your thoughts and ideas!