Home |  MySQL Buzz |  FAQ |  Feeds |  Submit your blog feed |  Feedback |  Archive |  Aggregate feed RSS 2.0 English Deutsch Español Français Italiano 日本語 Русский Português 中文
Previous 30 Newer Entries Showing entries 31 to 60 of 267 Next 30 Older Entries

Displaying posts with tag: skysql (reset)

MySQL 5.6.16 Overview and Highlights
+6 Vote Up -0Vote Down

MySQL 5.6.16 was recently released (it is the latest MySQL 5.6, is GA), and is available for download here:


As opposed to the latest 5.5 release, this latest 5.6 release has quite a few more bug fixes, but that’s expected since 5.5 has been GA for much longer.

There were 2 minor functionality changes:

  • Previously, ALTER TABLE in MySQL 5.6 could alter a table such that the result had temporal columns in both 5.5 and 5.6 format. Now ALTER TABLE upgrades old temporal columns to 5.6 format for ADD COLUMN, CHANGE COLUMN, MODIFY COLUMN, ADD INDEX, and FORCE operations. This conversion cannot be done using the INPLACE algorithm, so specifying ALGORITHM=INPLACE in these cases results in an error. (Bug #17246318)
  • CMake now supports a -DTMPDIR=dir_name
  [Read more...]
MySQL 5.5.36 Overview and Highlights
+1 Vote Up -0Vote Down

MySQL 5.5.36 was recently released (it is the latest MySQL 5.5, is GA), and is available for download here:


I was reading through the changelogs to review the changes and fixes, and to summarize, I must say this release is mostly uneventful.

There was one new feature added (for building, so not really applicable to everyone), and only 17 bugs fixed.

The new feature is this:

  • CMake now supports a -DTMPDIR=dir_name option to specify the default tmpdir value. If unspecified, the value defaults to P_tmpdir in . Thanks to Honza Horak for the patch. (Bug #68338, Bug #16316074)

Out of the 17 bugs, there was only 1 I thought worth mentioning (because it is a wrong results bug):

  • COUNT(DISTINCT) sometimes produced an incorrect result
  [Read more...]
Exploring MySQL Metadata Lock Instrumentation in Closer Detail
+2 Vote Up -0Vote Down

I recently wrote a post on tracking metadata locks (MDL) in MySQL 5.7, and I wanted to take a moment to expand on it by explaining a couple of the associated variables in more detail.

First off, once you have enabled the performance_schema *and* the metadata lock instrumentation, you can verify it with:

mysql> SELECT * FROM performance_schema.setup_instruments
    -> WHERE NAME = 'wait/lock/metadata/sql/mdl';
| NAME                       | ENABLED | TIMED |
| wait/lock/metadata/sql/mdl | YES     | YES   |

“ENABLED” will report “YES” if it is enabled properly, and “NO” if not.

“TIMED” (referring to event timing) reports

  [Read more...]
Tracking Metadata Locks (MDL) in MariaDB 10.0
+1 Vote Up -1Vote Down

I recently blogged about tracking metadata locks in the latest MySQL, and now I want to discuss how to track these metadata locks in MariaDB.

In MySQL 5.7, there is a table named `metadata_locks` added to the performance_schema (performance_schema must be enabled *and* the metadata_locks instrument must be specifically enabled as well.

In the MariaDB 10.0 implementation (as of 10.0.7), there is a table named METADATA_LOCK_INFO added to the *information_schema*. This is a new plugin, so the plugin must be installed, but that is very simple with:

INSTALL SONAME 'metadata_lock_info';

Then, you will have the table.

To see it in action:

Connection #1:

mysql> create table t (id int) engine=myisam;
mysql> begin;
mysql> select * from t;

Connection #2:

mysql> alter table t
  [Read more...]
What is the ibtmp1 file in MySQL 5.7?
+3 Vote Up -0Vote Down

If you’re running MySQL 5.7, you might have noticed the ibtmp1 file located in the datadir, and you might be wondering exactly what this file is.

In 5.7, InnoDB added a separate tablespace for all non-compressed InnoDB temporary tables. This new tablespace is named ibtmp1 and is located in the datadir by default.

“The new tablespace is always recreated on server startup. … A newly added configuration file option, innodb_temp_data_file_path, allows for a user-defined temporary data file path. For related information, see InnoDB Temporary Table Undo Logs.”

You can read that, and the full changelog entry, here:


And the full variable description is here:

  [Read more...]
Tracking Metadata Locks (MDL) in MySQL 5.7
+3 Vote Up -1Vote Down

I’ve blogged about metadata locks (MDL) in the past (1 2 3) and in particular discussed how best to track them down and troubleshoot threads stuck waiting on metadata locks.

If you’ve had any experience with these, you’ll know finding them isn’t always the most straight-forward task.

So I was glad to see metadata lock instrumentation added to MySQL 5.7.3 as part of performance_schema, which makes tracking these down a breeze! (Note this is only in 5.7.3 currently, and therefore is some time from being GA as of today)!

To use these, performance_schema must be enabled (i.e., performance_schema=1 in your config file).

But, also, the metadata_locks instrument is disabled by default, so even if you enable the

  [Read more...]
5.7 Upgrade and Resolving ERROR 1130 Host ‘localhost’ is Not Allowed to Connect
+3 Vote Up -0Vote Down

I recently upgraded an instance to 5.7.3 the other day, and ran into an error, so I wanted to share the resolution for it here.

In my case, I was upgrading 5.7.1 to 5.7.3. However, this will apply to anyone wanting to upgrade from pre-5.7.2 (including 5.6/5.5) to 5.7.2+.

I performed the upgrade, in-place, and restarted mysqld. This was fine. However, then I attempted to connect via the command-line, and received the following error:

shell> mysql -uroot -ppass -P3310
ERROR 1130 (HY000): Host 'localhost' is not allowed
to connect to this MySQL server

Searching the net, you’ll mostly find RTM replies, which were all accurate as far as I could tell. In all of those prior reported cases, the issues were expected behavior and the issues were ultimately user error.

Of course I double-checked my config and data files. I knew I didn’t change anything in the user

  [Read more...]
Upcoming MariaDB Enterprise and MaxScale Webinar
+1 Vote Up -0Vote Down

As many of you know, both MariaDB Enterprise and MaxScale have been released and are now available for use.

Since they are both so new, I just wanted to let everyone know Ivan Zoratti will conducting a webinar next week discussing both of these technologies.

I’m looking forward to it, and should anyone out there be interested in either MDBE or MaxScale, we hope you’ll attend, and get any questions you might have answered.

When: February 6, 2014 – 6:00pm CET

Sign up now here:


MariaDB Enterprise 1.0 is Here
+1 Vote Up -0Vote Down

I know it was officially announced Monday, but I just wanted to take a moment and let everyone know MariaDB Enterprise 1.0 is now available, in case you missed the previous article.

What does MariaDB Enterprise consist of?

“MariaDB Enterprise is composed of several components including MariaDB Manager, which is a set of management tools and an API with which you can easily provision, monitor, and manage a highly available MariaDB Galera Cluster for multi-master, synchronous replication. Galera is a powerful technology that can eliminate single points of failure for your database infrastructure, but it is relatively new and can be a challenge to configure for administrators who aren’t familiar with it.”

  [Read more...]
MySQL Workbench Stuck in Fetching Mode
+3 Vote Up -0Vote Down

Another obscure issue I ran into not long ago was when using MySQL Workbench, and clicking on a table, it became stuck in fetching mode.

What triggered the issue was a recent MySQL upgrade, but MySQL itself, not Workbench.

After checking the error log, we saw an error like:

Incorrect definition of table mysql.proc: expected column
'comment' at position 15 to have type text, found type char(64)

Instantly, I knew mysql_upgrade needed to be ran in order to fix the “Incorrect definition” issue, and turns out that is the root cause for Workbench getting stuck in the “fetching” mode.

So the solution is to run mysql_upgrade. Should that not fix the table for some reason, then you can also fix it alternatively with:

ALTER TABLE mysql.proc MODIFY `comment` text

Hope this helps.


Be careful if you use file-level symbolic links and myisamchk
+2 Vote Up -0Vote Down

I ran into a rather obscure bug the other day, but while uncommon, it can cause damage you would not otherwise expect if you use file-level symbolic links. So this is just a warning about that.

Specifically, if you create a table with the .MYI and .MYD files in a different directory, using symbolic links – either manually or using CREATE TABLE .. INDEX DIRECTORY=”" DATA DIRECTORY=”", and then run myisamchk on the table and specify .MYI, you will corrupt the table.

Creating these manually is not so common, but the CREATE TABLE .. INDEX DIRECTORY=”" DATA DIRECTORY=”" is much more common, which creates file-level symbolic links (for the .MYI and .MYD files, respectively) in the datadir and stores the actual file(s) in the location specified. So it leaves you with this setup.

Therefore, if you later run myisamchk on one of these files, do not specify .MYI in the

  [Read more...]
A Close Encounter with MaxScale
+1 Vote Up -0Vote Down

MaxScale is the new proxy server from the SkySQL/MariaDB team. It provides Connection Load Balancing (CLB) and Statement Load Balancing (SLB) out of the box. This post is a [relatively] quick “how to” install, configure and test SLB with the read/write splitting module.

Step 1 - Server preparation

If you do not have many HW resources, you may run everything on a single Linux instance, but the best way to test MaxScale is to use at least 4 servers: one for MaxScale and for the client apps, one as Master and two as slaves - so, 4 in total. In this post I am going a bit further, I will use 5 servers:
Max 0 - For client apps (
Max 1 - The master server (
Max 2 - The first slave (
Max 3 - The second slave (
Max 4 - The third slave (
Max 6 - The MaxScale

  [Read more...]
It can be a bright 2014
+1 Vote Up -0Vote Down

In many parts of the MySQL world, whether you have users, developers or administrators of MySQL, the season holidays are for family, relax, prayers, travel, or they are simply a moment where you can enjoy what you like or care most about.

For me, this time is dedicated to my family, but also to deeper thoughts around the strategies to adopt in short and long term. My work nowadays, as the work of many others, is ruled by quick decisions, by the "time to market” - whatever “market" means in a specific context. Decisions must be made in meetings that are time-boxed in one hour or even less. In the end, you accumulate so much work and high priority tasks that you do not have enough time to prepare the topics adequately.

I thought I could summarise my thoughts for the past year and for the near future, from a technical and from a business perspective.

  [Read more...]
#002b64 is the new black (or #181818)
+0 Vote Up -2Vote Down

For my 25 readers (Italians would know better, citing The Betrothed by Alessandro Manzoni): if you are a techie and you do not know me , you can stop reading. No tech tips inside, nor 5 gazillion queries per second improvement in this post, sorry!

On the other hand, if curiosity is what drives you through the posts of PlanetMySQL  you may find bits in this post of some interest, or even helpful.

Few days ago I opened my blog and found the last post, dated April 2013.

  [Read more...]
MariaDB now in the AWS Marketplace
+3 Vote Up -0Vote Down

Saw this on @awsmarketplace the other day:

#opensource #MariaDB by @SkySQL on @AWSMarketplace http://t.co/o3KQ9xe9sr #mysql

— AWS Marketplace (@awsmarketplace) October 8, 2013

Now on the AWS Marketplace, you can

  [Read more...]
Change in Affiliation
+1 Vote Up -2Vote Down

About a month ago, I accepted an offer to work at SkySQL as the Chief Evangelist for MariaDB. So the change in affiliation announced in April 2013 has come to fruition. What this realistically means is that my email address changes to colin@mariadb.com, though I am still reachable at colin@mariadb.org even though I’m not part of the MariaDB Foundation.

There are a lot of structural changes that urgently need work and I expect to be spending quite some time on all this. In the meantime, read an update from the SkySQL CEO Patrik Sallner.


  [Read more...]
Who works on MariaDB and MySQL?
+1 Vote Up -0Vote Down

Looking at the committers/authors of patches in the bzr tree for MariaDB 5.5.31.

Non Oracle Contributors:

  • Alexander Barkov
  • Alexey Botchkov
  • Elena Stepanova
  • Igor Babaev
  • knielsen
  • Michael Widenius
  • sanja
  • Sergei Golubchik
  • Sergey Petrunya
  • timour
  • Vladislav Vaintroub
  • Oracle (as they pull Oracle changes):

  • Aditya A
  • Akhila Maddukuri
  • Alexander Nozdrin
  • Anirudh Mangipudi
  • Annamalai Gurusami
  • Astha Pareek
  • Balasubramanian Kandasamy
  • Chaithra Gopalareddy
  • Daniel Fischer
  • Gleb Shchepa
  • Harin Vadodaria
  • Hery Ramilison
  • Igor Solodovnikov
  • Inaam Rana
  • Jon Olav Hauglid
  •   [Read more...]
    Common Errors and Resolutions for Building your own MySQL or MariaDB C/C++ Program on Windows
    +2 Vote Up -0Vote Down

    In my previous post, Creating a basic C/C++ Program to Interact with MySQL and MariaDB, I ran into some errors along the way, so I wanted to share those and their resolutions.

    1. fatal error C1083: Cannot open include file: ‘mysql.h’: No such file or directory

    mysql1.c(2) : fatal error C1083: Cannot open include file: 'mysql.h':
    No such file or directory

    At this point, my cl command was:

    cl /I "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include"

    So I needed to include the directory that contained mysql.h as well. So the above changed to:

    cl /I "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include"
    /I "C:\Program Files\MySQL\MySQL Server 5.5\include" mysql1.c

    2. error C2061: syntax error : identifier ‘SOCKET’

    This was actually a

      [Read more...]
    Creating a basic C/C++ Program to Interact with MySQL and MariaDB
    +2 Vote Up -0Vote Down

    In this post, I’ll cover how to create a simple C/C++ program that interacts with MySQL using the C API (and Connector/C). I discussed in a previous post how to install the C Connector (both SkySQL and MySQL’s), so please refer to that if you are looking for more specifics on that.

    So once you have that set up, then there are just a few more things you need to have in order – at least this was the case in my environment.

    1. Create a program (this one simply connects to the server and retrieves the server version):

    #include <stdio.h>
    #include <windows.h>
    #include <mysql.h>
    MYSQL *conn;
    int version = 1;
    int main ( int argc, char *argv[] )
        conn = mysql_init ( NULL );
        mysql_real_connect ( conn, "localhost", "root",
                "password", "test", 3308, NULL, 0 );
    	version =
      [Read more...]
    Setting Up Connector/C and SkySQL C Connector for MySQL and MariaDB
    +3 Vote Up -0Vote Down

    I’m writing a post on how to create your first C/C++ program for MySQL (using Windows, and from the command line). A prerequisite for that is to have a C Connector, such as MySQL Connector/C or SkySQL C Connector, so the program can communicate with mysqld.

    I didn’t want that post to be too scattered, so I decided to split it into two, more focused posts. That said, this first post will focus on the Connector, and the next post will actually cover the program itself.

    Installing and using Connector/C with MySQL is quite simple, so I wanted to show how easy it is. I also wanted to show examples with both SkySQL C Connector with MariaDB (which also works with MySQL) and Connector/C with MySQL, since both are widely used. I also wanted to show some common errors one might encounter and their resolutions, so hopefully this will help

      [Read more...]
    Resolving Error: master and slave have equal MySQL server UUIDs
    +4 Vote Up -0Vote Down

    If you’ve run into the following error, then there area couple quick fixes:

    Errno: 1593
    Fatal error: The slave I/O thread stops because master and slave
    have equal MySQL server UUIDs; these UUIDs must be different for
    replication to work.

    To give some background first, starting in MySQL 5.6, the server generates a true UUID in addition to the –server-id supplied by the user. This is ultimately to help with new replication features.

    From a under-the-hood view, when starting, the MySQL server automatically obtains a UUID as follows (per the manual):

  • Attempt to read and use the UUID written in the file data_dir/auto.cnf (where data_dir is the server’s data directory); exit on success.
  • Otherwise, generate a new UUID and save it to this file,
  •   [Read more...]
    Mitigating the Effect of Metadata Lock (MDL) Contention
    +2 Vote Up -0Vote Down

    If you see the “Waiting for table metadata lock” error, you may be wondering what is the best course of action to prevent it in the future. I have briefly discussed troubleshooting metadata locks before, however, that post more illustrated how easy it is to encounter the “Waiting for table metadata lock” error in both MyISAM and InnoDB. It provides simple examples for reproducing using both storage engines, so one could hopefully more easily identify where the locks are stemming from in their particular case.

    Pin-pointing which transaction holds the locks is a different story. There are feature requests filed in MySQL and MariaDB bugs databases to track this information, but they are recent, and no ETA is scheduled for either yet, as far as I know:

      [Read more...]
    Resolving Missing sys Include Files: devpoll.h, epoll.h, event.h, and queue.h during CMake when Building MySQL on Windows
    +1 Vote Up -0Vote Down

    As I mentioned in a previous post that I’d mention how I resolved some additional missing include files when building MySQL on Windows.

    In this post I cover 4 missing header files, as they are all related and have to do with polling, and headers (and functions) from libevent, and in the folder /sys. I’m not sure if one should even use these functions from libevent on Windows, as these are not needed for Windows, and may not be beneficial either (that last part I’ve just read briefly about, so I’d need to that a bit more myself to be 100%), but including the headers won’t hurt, as it doesn’t hurt if they don’t exist.

    At any rate, here were the 4 related missing header file warnings:

    -- Looking for include file sys/devpoll.h
    -- Looking for include file sys/devpoll.h - not found
      [Read more...]
    Another Idea to Help Foster a Vibrant Community: Please make all bugs public
    +4 Vote Up -0Vote Down

    Since MySQL recently implemented the following feature request (and discussed here and here) to help foster communication among public bugs and feature requests, and to provide a way to allow the Community to voice whether or not a bug affects them, I decided to file another feature request that I think would even further encourage communication amongst an already vibrant community, and that is to simply:

    “Please make all bugs public”


    And thanks to the new bugs feature, if you would like to see this

      [Read more...]
    Resolving sasl/sasl.h Not Found during CMake when Building MySQL on Windows
    +2 Vote Up -0Vote Down

    When building MySQL (5.6 in this case) on Windows, if starting from a new/plain machine, there are some headers/libs/etc. missing that many distributions contain and/or are easy to add.

    Resolving some of these, at least for me, have not always been intuitive on Windows. So I’m attempting to tackle them all and post the results to help others with the same issues. (I thought I’d fly through them all, and provide it all in a single post .. [insert laughs here] .. but that’s not gonna happen, so I’ll post them as I go. Might be better in the long run anyway for those searching for specific errors anyway.)

    So this one is about the following, during the initial invocation of cmake:

    -- Looking for include file sasl/sasl.h
    -- Looking for include file sasl/sasl.h - not found

    Thus I need to get sasl.h. SASL stands for “Simple Authentication and

      [Read more...]
    Comprehensive How-To for Enabling the Standard InnoDB Plugin in MariaDB and MySQL
    +4 Vote Up -0Vote Down

    I’m always switching back-and-forth between the 2 different InnoDB flavors in MariaDB – XtraDB+ and the standard InnoDB plugin, so I thought I’d simply post all of the various combinations in a single place. (And then I cover enabling the InnoDB Plugin in MySQL, since it’s an option in 5.1.) [Addition: Thanks to Andrew and Sergei for the tips on shortening plugin-load=. The changes are reflected below.]

    Note: Below is for Windows. For Linux, simply change “.dll” to “.so” where appropriate.

    MariaDB 10.0:

    Do not add anything, as the standard InnoDB plugin is the current default (as of 10.0.3, although I do anticipate this changing in the near future, and I’ll update the post accordingly when that happens).

    MariaDB 5.5:

    # Enable the 2 below to disable XtraDB+ and enable the standard InnoDB
      [Read more...]
    Setting the TZ Environment Variable for MySQL on Windows
    +2 Vote Up -0Vote Down

    Most of us are familiar with how MySQL handles timezones, and what one must do to keep up with the latest changes, etc. Most of us use the system timezone info, which is great – one less item to update when changes occur (usually because of daylight savings changes). And for those who need more specifics, most everyone (except Windows and HP-UX) can update their timezone info using the zoneinfo database from the OS.

    For those few Windows and HP-UX, you have to download the package of pre-built time zone tables that MySQL provides. Per the manual (timezone section):

    “If your system is one that has no zoneinfo database (for example, Windows or HP-UX), you can use the package of pre-built time zone tables that is available for download at the MySQL Developer Zone:”

      [Read more...]
    Troubleshooting High Memory Usage with MySQL on Windows
    +2 Vote Up -0Vote Down

    I was testing out the latest MySQL 5.6 on Windows (having used the auto-installer) and happened to notice my RAM usage (via Windows Task Manager) was reporting quite a high value, when I had very modest ram/buffer settings (should have been around 40M, but instead it was around 400M).

    After double/triple-checking my settings to make sure I didn’t overlook something obvious, I searched the bugs database, and ran across bug #68287:

    “High Memory Usage with MySQL 5.6.12 GA in ‘Development Machine’ mode”

    Turns out, using the auto-installer set the value of table_definition_cache=1400, when the minimum value is 400. Reducing it to 400, and restarting MySQL immediately lowered the RAM usage, and is the “work-around”

      [Read more...]
    How to Build MySQL 5.7 on Windows from Source Code
    +2 Vote Up -0Vote Down

    I just installed 5.7.1 on Windows and next up was to build it from source on Windows, so that’s what I did, and thought I’d share the steps.

    ** Prerequisites **

    1. Install Microsoft Visual Studio (I installed VS 2010 Express – free)
    2. Install cmake
    3. Install bison (make sure no spaces in path)

    ** Build Instructions **

    cd c:\mysql\mysql-5.7.1
    mkdir bld
    cd bld
    cmake ..
    cmake --build . --config relwithdebinfo --target package

    And here is the full output for anyone who might be interested:

    C:\Windows\system32>cd C:\mysql\mysql-5.7.1
    C:\mysql\mysql-5.7.1>mkdir bld
    C:\mysql\mysql-5.7.1>cd bld
    C:\mysql\mysql-5.7.1\bld>cmake ..
    -- Building for: Visual Studio 10
    -- Running cmake version
    -- Configuring with MAX_INDEXES = 64U
    -- The C compiler identification is MSVC
      [Read more...]
    Troubleshooting Building MariaDB 5.1 on Windows
    +2 Vote Up -0Vote Down

    This is a follow-up, troubleshooting article that goes hand-in-hand with my “Building MariaDB 5.1 on Windows Revisited” post, and covers some problems and their solutions that one might encounter when attempting to build MariaDB from source code on Microsoft Windows.

    The first error I ran into was this, on my main compile step (i.e., the 2nd cmake command):

    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp
    Common.targets(151,5): error MSB6006: "cmd.exe" exited with code 1.

    That in itself doesn’t tell us too much. Searching the full compile output, we find:

    Generating ../../scripts/mysql_fix_privilege_tables.sql
    The system cannot find the file specified.
    C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp
      [Read more...]
    Previous 30 Newer Entries Showing entries 31 to 60 of 267 Next 30 Older Entries

    Planet MySQL © 1995, 2014, Oracle Corporation and/or its affiliates   Legal Policies | Your Privacy Rights | Terms of Use

    Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.