Now that we have frozen the 5.1 API of Libdrizzle I can blog
  about how to use parts of the API.
  
  In this blog post I will cover connecting to a MySQL server and
  retrieving the binary logs.
  
  First of all we need to connect to the MySQL server
  
  #include <libdrizzle-5.1/libdrizzle.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <errno.h>
  #include <inttypes.h>
  
  int main(void)
  {
    drizzle_st *con;
    drizzle_binlog_st *binlog;
    drizzle_return_t ret;
   
    con= drizzle_create("localhost", 3306, "user", "pass", "",
  NULL);
    ret= drizzle_connect(con);
    if (ret != DRIZZLE_RETURN_OK)
    {
      printf("Could not connect to server: %s\n",
  drizzle_error(con));
      return EXIT_FAILURE;
    } …
  A couple of days ago we released Libdrizzle 5.1.3.  With
  this release of the C connector for MySQL servers we are freezing
  the 5.1 API and declaring it stable.  This is also one of
  our biggest releases after incorporating code from a Seattle
  developer day.  The diff since 5.1.2 is over 6000 lines long
  and around 180KBytes, incorporating many bug fixes and
  improvements.
  
  The most notable changes in this release are:
- the drizzle_binlogs tool has been removed, it is now in the Drizzle Tools tree which will have its first release soon.
- the connection API has been refactored, options processing has been re-written and the connection API has been simplified in general
- drizzle_escape_string has been made safer
- drizzle_hex_string and drizzle_mysql_password_hash has been removed
- internal …
This week we begin to discuss replication features in MySQL 5.6. Ear Candy is a LOAD DATA INFILE bug and using CSV to get beyond it; At the Movies is Suzan Bond talking about "The Art of Self-Sourcing".
  Events
  Oracle's doing more MySQL tech tours. These seminars will be in
  the mornings, and are free. They will be on:
  Tuesday, February 19th in Petach Tikva,
  Israel
  Thursday, February 21st in Oslo and Brussels
…
[Read more]Last weekend I attended my first Fosdem conference. It was great to finally visit the conference that might be the biggest open source conference in the world. It's also an amazing experience how our Belgian friends pull off such a magnificent event purely with volunteer effort. You might say the conference itself is very much open source: free entry, created by volunteers. Organizers estimated that this year there were 7000+ attendees on campus. A hard data point was over 2300 simultaneous devices connected to Wifi.
I presented an introduction to Galera Cluster for MySQL. Due to problems with my personal laptop, I had to resort to an old version of the same presentation I had uploaded to Slideshare last year. (This is a variation of the old rule: The best way to backup your code is to publish it online as open source...). These are the slides:
…
[Read more]
  Many users of MySQL install and use the standard directories for
  MySQL data and binary logs. Generally this is
  /var/lib/mysql.
  As your system grows and you need more disk space on the general
  OS partition that commonly holds /tmp, /usr and often /home, you
  create a dedicated partition, for example /mysql. The MySQL data,
  binary logs etc are then moved to this partition (hopefully in
  dedicated directories). For example data is placed in
  /mysql/data.
  Often however, a symbolic link (symlink) is used to so MySQL
  still refers to the data in /var/lib/mysql.
When it comes to removing the symlink and correctly configuring MySQL, you first stop MySQL and correctly defining the datadir my.cnf variable to point to the right location. However, MySQL still keeps the legacy directory information around and this will cause MySQL replication to fail in several ways when you attempt to restart your MySQL instance.
The binary …
[Read more]At Effective MySQL we provide resources for the DBA, Developer and Architect to best use MySQL. This includes currently three books in our series, available in print, PDF and Kindle formats.
| Buy Now | … | 
Teradata results. Funding for DataXu. The chemistry of data. And more.
For 451 Research clients: Oracle launches major update to MySQL open source database bit.ly/TSONAt
— Matt Aslett (@maslett) February 8, 2013
For 451 clients: Analyzing the chemistry of data bit.ly/TSOV2R By @451wendy Treating sensitive data like dangerous chemicals
— Matt Aslett (@maslett) February 8, 2013
Teradata: Q4 net income $112m on revenue up 10% to $740m, FY net income $419m on revenue up 13% to $2.7bn. bit.ly/14FNS8L (PDF)
— Matt …
[Read more]Following my discussion with Mikael Ronstrom regarding Parallel databases through comments on a old blog post ( mysql-for-a-massively-parallel-database/#comments ) I want to clarify why i like the Shard-Query tool.
Shard-Query is a open source distributed parallel query engine for MySQL. It offers a way to answer the question of parallel query execution across shards http://code.google.com/p/shard-query/.
[...]
MySQL 5.6 is GA! Now we have new things to play with and in my personal opinion the most interesting one is the new Global Transaction ID (GTID) support in replication. This post is not an explanation of what is GTID and how it works internally because there are many documents about that:
http://dev.mysql.com/doc/refman/5.6/en/replication-gtids-concepts.html
One thing that worths to mention is that if you want GTID support log_slave_updates will need to be enabled in slave server and the performance impact should be taken in account.
Anyway, this post tends to be more practical, we will see how to create/restore new slaves from a master using GTID.
How to set up a new slave
The first thing that we need to know is that now Binary Logs and Position are not needed anymore with GTID enabled. Instead we …
[Read more]One of the most complicated aspects of putting together our database landscape map was dealing with the growing number of (particularly NoSQL) databases that refuse to be pigeon-holed in any of the primary databases categories.
I have begun to refer to these as “multi-model databases” in recognition of the fact that they are able to take on the characteristics of multiple databases. In truth though there are probably two different groups of products that could be considered “multi-model”:
True multi-model databases that have been designed specifically to serve multiple data models and use-cases
  Examples include:
  FoundationDB, which is being designed to support
  ACID and NoSQL, but more to the point …