Tuesday Aug 20, 2013

Twitter: New Tweets per Second Record, and How

Raffi Krikorian, VP Platform Engineering at Twitter, blogged about Twitter's New Tweets per second record and how they achieved it:

"Recently, something remarkable happened on Twitter: On Saturday, August 3 in Japan, people watched an airing of Castle in the Sky, and at one moment they took to Twitter so much that we hit a one-second peak of 143,199 Tweets per second...To give you some context of how that compares to typical numbers, we normally take in more than 500 million Tweets a day which means about 5,700 Tweets a second, on average. This particular spike was around 25 times greater than our steady state."

Read the blog to understand how they reached their goals.

To learn more about MySQL at Twitter, register now for MySQL Connect, taking place in San Francisco September 21-23. You'll get the chance to hear the Twitter engineers speak about their MySQL data storage architecture.

And if you're still wondering whether you should attend MySQL Connect, listen to the latest OurSQL podcast hosted by Sheeri and Gerry to find out why you definitely should. Plus, you can win a free pass!

Monday Aug 12, 2013

MySQL Workbench 6.0 - New Design and Many Enhancements

New GUI, 30+ New Features, and Major New Components

Oracle is excited to announce the immediate availability of the production-read, GA release of MySQL Workbench 6.0, available for download under the GPL, as well as part of the Commercial MySQL Standard, Enterprise, and Cluster Carrier Grade Editions with 24x7 global support.

The need by database professionals for management tools has increased with expanding data volumes, web, cloud and mobile computing growth. Improvement and additions in MySQL Workbench helps developers and administrators better manage these dynamic data environments. This latest GA release includes many new features and a modernized user interface that allows users to simplify MySQL database development, design and administration.

The goal of MySQL Workbench 6.0 is to simplify and improve the workflow in the graphical user interface (GUI) as well as adding new features and functions. The enhanced design in the multi-platform GUI not only increases usability and productivity of the tool, but also offers new database management capabilities. MySQL Workbench 6.0 improves user productivity across the board from database architects to developers to DBAs, by enhancing support for data modeling and SQL development, as well as improving and adding tools for server configuration, user administration, migration, backup, auditing and more.

New Features

  • Redesigned GUI: includes a NEW modernized home screen and a streamlined interface for unified, multi-tasking database management and development.
  • Vertical Query Results Mode: allows query results to be visualized as a column/value pair list, which is ideal for queries that produce few rows but many columns.
  • Cascaded DELETE Statement Generator: automatically performs the tedious task of creating DELETE statements for deleting a row referenced by foreign keys.
  • Improved Visual Entity-Relationship Model Synchronization: with live schemas, making the integrated database modeling tool even more useful for managing schemas.
  • NEW Schema Inspector: provides a suite of detailed views of all objects in the schemas plus access to table maintenance operations such as ANALYZE and OPTIMIZE TABLE.
  • NEW Table Data Search: enables a text search on any number of tables and schemas for rows matching a given pattern.
  • IMPROVED Server Status: provides a quick summary of server status and configuration.
  • Wizard Based Migration Support: for Microsoft SQL Server, Sybase Adaptive Server Enterprise (ASE), PostgreSQL and now NEW additional support for Sybase SQL Anywhere and SQLite.
  • Community Driven Features: MySQL Workbench 6.0 addresses well over 200 ideas and requests from the community.
  • MySQL Workbench 6.0 Enterprise Edition also includes:
    • NEW MySQL Enterprise Backup GUI: now allows setup, run, schedule, and view backups while in progress, as well as automating restores.
    • NEW MySQL Audit Log Inspector: allows users to browse and analyze audit data generated via MySQL Enterprise Audit. With powerful filtering and search capabilities users will be able to more easily assess the audit log content generated via MySQL Enterprise Audit.


Platforms supported by MySQL Workbench include: Windows, Mac OS X 10.6+, Oracle Linux 6, RH 6, Fedora 18, Ubuntu 12.04 and Ubuntu 13.04

MySQL Workbench Community Edition is available free of charge under the GPL and is available for download

  • For Windows - as part of the MySQL Installer for Windows here;
  • For Mac OS X and Linux here.

MySQL Workbench Enterprise Edition which includes DBDoc as well as support for MySQL Enterprise Backup and Audit is available from My Oracle Support today or from Oracle Software Delivery Cloud for trial later.


MySQL Workbench 6.0 is the best release to date, with more capabilities and enhanced ease of use.

You can review the MySQL Workbench 6.0 documentation, and also ask questions to the development team and community via our the MySQL Workbench forum. We addressed over 200 ideas and requests from our community in this release. To those folks as well as all the Workbench 6.0 beta testers, a BIG thanks goes out to you.

If you’ve been using MySQL Workbench for some time, we hope you like the changes and improvements. If you’re new to MySQL Workbench, we look forward to working with you to continue evolving MySQL Workbench. As always please send us your ideas and feedback.

Wednesday Aug 07, 2013

Top 10 Reasons to Attend MySQL Connect

MySQL Connect is taking place in San Francisco September 21-23; Counting over 85 sessions and tutorials, the event represents a unique opportunity to boost your MySQL skills and hear from Oracle's MySQL engineers along with customers, partners and MySQL community members.

MySQL Connect Tutorials

Have you signed up yet? If not, you can still save US$300 over the onsite price if you register now!

Here are the top 10 reasons why you should do so:

  1. Better understand Oracle's MySQL strategy. Hear straight from the source how Oracle is driving MySQL innovation, and what are the latest developments and roadmaps.
  2. Learn about real-world experiences from other organizations. Find out about the mistakes you should avoid and the best practices they've developed. You’ll get the chance to hear from MySQL experts at Facebook, Twitter, LinkedIn, PayPal, Verizon Wireless, Booking.com, Ticketmaster, Mozilla, Big Fish Games, Tumblr, MercadoLibre, NetMotion Wireless and others.
  3. Meet the engineers developing and supporting the MySQL products. You’ll have the opportunity to ask them all your questions, which can save you significant time and money.
  4. Acquire in-depth knowledge about InnoDB, best of both worlds "SQL & NoSQL" strategies, the MySQL optimizer, performance and scalability tuning, security and numerous other topics.
  5. Understand how you can leverage the new MySQL Database and MySQL Cluster features to develop your next generation Web, cloud, mobile and embedded applications.
  6. Get hands-on experience about improving performance with the MySQL Performance Schema, using MySQL replication, monitoring MySQL Cluster and more with eight different Hands-On Labs.
  7. Express your ideas, engage into discussions and help influence the MySQL roadmap during six Birds-of-a-Feather sessions about InnoDB, sharding & replication, backup and other topics.
  8. Meet partners and learn about third party tools that could be useful in your architecture.
  9. Immerse yourself in the MySQL universe and network with MySQL experts for several days. The discussions as well as the relationships you will create can be priceless and help you execute on your next projects better and faster.
  10. Add a third day of tutorials to your MySQL Connect registration to go even deeper into key MySQL topics and make the most of the event.
  11. As a bonus to the top 10, an 11th reason to attend MySQL Connect is that you’ll have a lot of fun! The passion and the energy are contagious...and you’ll likely get plenty of new ideas!

Don't miss out on this great opportunity, Register Now to save US$300 over the onsite price! Are you attending or planning to attend Oracle OpenWorld or JavaOne? You can add MySQL Connect to your registration for only US$100!

We'll have parallel tracks so you might consider sending a few team members to make the most of the conference.

We look forward to seeing you at MySQL Connect!

Wednesday Jul 10, 2013

Upcoming EMEA Events with MySQL in 2013/2014

As an update to the previous announcement placed on May 15, 2013 I have the pleasure to announce additional events and conferences which MySQL Community Team supports! We are not only an event partner but we also secure the MySQL technical staff, at some events also Java, Oracle VM and Oracle Linux experts as well. Please come to any of the events below and talk to our staff about the latest news Oracle supported technologies! You can find us at:

  • PHP UnConference, Hamburg, Germany, September 21-22, 2013
    • There is no schedule set for such events as UnConference. This event is mostly for PHP experts and engineers and the whole schedule is done usually on the place. MySQL is presented!
    • Tickets are available for purchasing by July 24, 2013.
  • All Your Base, UK Database Conference, Oxford, UK, October 18, 2014
    • Meet us at our stand table in the lobby as well as come to MySQL workshop a day before the conference (October 17).
  • NoSQL Search Roadshow, October 31, 2013, Amsterdam, The Netherlands
    • 45 mins slot dedicated to MySQL topic. The topic & speaker from MySQL team will be announced soon, please watch the NoSQL Roadshow URL.
  • Forum PHP Paris 2013, Paris France, November 21-22, 2013
    • MySQL, Oracle VM/Linux shared booth is set as well as we submitted several talks, all will be announced by organizers soon.
  • UKOUG Tech 13, Manchester, UK, Dec 2-4, 2013
    • Oracle exhibition stand with covering the most common Oracle's supported technologies including also MySQL will be set.
  • FOSDEM 2014, Brussels, Belgium, Feb 1-2, 2014
    • As a tradition MySQL technical staff is attending/speaking at FOSDEM 2014 too! This time also experts from Oracle Java / VM / Linux will join us at the booth as well as are going to submit talks! Watch the FOSDEM web for more details & news!.

You can also find us at following events which does not have the date set yet:

  • PHP UnConference 2014, Island of Majorka (Dates still TBD)
    • Same as with the PHP UnConference Hamburg also here is no schedule set in advance. For the date/tickets and details please watch the UnConference URL.
  • PHP Benelux, Belgium, January 2014
  • PHP UK, Brewery, UK, February 21-22, 2014
  • NoSQL Roadshow, Stockholm, Sweden, dates are still TBC

You can find the up to date list of events we are going to support and definitely attend at the MySQL wikis.

Looking forward to meeting you at any of the event above!

Tuesday Jul 09, 2013

MySQL Connect: Only a Few Days Left to Register and Save US$500

The Early Bird pricing for MySQL Connect will end on July 19, 2013; you only have a few days left to register and save US$500.

MySQL Connect will take place in San Francisco September 21-23. The program includes exciting keynotes, 66 conference sessions, 6 Birds-of-a-Feather sessions, 8 Hands-On Labs, demo pods, fun receptions and more. Some of the presentations you will be able to attend are:

Additionally, you can add a third day of tutorials to your MySQL Connect registration. Here are some of the tutorials you will get the chance to attend:

Check out the MySQL Connect Content Catalog and Register Now, before July 19, 2013, to save US$500 with the early Bird discount!

Exhibit/Sponsorship opportunities are also available.

We look forward to seeing you at MySQL Connect!

Thursday Jun 27, 2013

Discover the MySQL Connect Content Catalog!

The MySQL Connect content catalog is now live! MySQL Connect, taking place in San Francisco Sept 21-23, offers you a unique opportunity to attend:

Keynotes including:
Over 65 Conference sessions enabling you to hear from:
  • Oracle MySQL engineers on MySQL 5.6, InnoDB, replication, performance tuning, security, NoSQL, MySQL Cluster, Big Data...and more.
  • MySQL customers including the US Census Bureau, Big Fish Games, Booking.com, Ticketmaster, and Tumblr.
  • Internationally recognized MySQL community members and partners on topics such as performance, MySQL 5.6, backup, MySQL in the Cloud, OpenStack and Hadoop.

6 Birds-of-a-feather sessions about sharding, replication, backup, and other subjects.

8 Hands-On Labs designed to give you hands-on experience about MySQL replication, the MySQL Performance Schema, MySQL Cluster...and more.

6 Tutorials providing you in-depth knowledge about MySQL Performance Tuning best practices, enhancing productivity with MySQL 5.6 new features or the essentials to get started with MySQL (tutorials are available as an add-on package to MySQL Connect registrants).

Demo pods and exhibitors, to learn more about Partner’s and Oracle’s offerings.

Receptions on both Saturday and Sunday nights, enabling you to ask all your questions to Oracle's MySQL engineers and to network with some of the world’s best MySQL professionals.

Check out the MySQL Connect content catalog and find out about the amazing sessions you have the opportunity to attend.

Reminder: The early bird discount is running until July 19, Register Now to save US$500!

Plan to Attend Oracle OpenWorld or JavaOne? Add the MySQL Connect event to your Oracle OpenWorld or JavaOne registration for only US$100.

Exhibit/Sponsorship opportunities are also available.

We look forward to seeing you at MySQL Connect!

Thursday Jun 20, 2013

MySQL at several conferences in EMEA

MySQL team has recently attended several conferences and events in EMEA. At some cases we have managed only talks at some events we run a booth too, for the list of events we have been presented so far see below. For the upcoming shows we are going to be presented, please see our Wikis page.

  • NoSQL Search Roadshow in Copenhagen on Jun 13, 2013:
    • At this show the MySQL talk on "NoSQL & MySQL" given by Ted Wenmark got more than 50% of the total 80-90 attendees. Ted got good response to the presentation, several attendees wanted to get in contact with him and wanted his slides (can be downloaded from Slideshare).
      One very interesting attandee was a speaker Frank Schroeder from Marktplaats (Ebay of Neterlands), he got very interested in MySQL Cluster for the system he was presenting, this is a click-tracking system for adds on Ebay.
  • Dutch PHP Conference, Amsterdam, Holland on June 6-8, 2013:
    • The conference ran Thu-Sat and was co-located with the Dutch Mobile Conference (DMC). Thursday was tutorial/workshop day, Fri+Sat regular conference days with 3 DPC and 3 DMC talks parallel on each slot. The conference was run by the Dutch company iBuildings, a Dutch PHP and mobile software development and consultancy company.
    • Johannes Schlueter from MySQL attended as a speaker at this conference talking on "The latest MySQL with PHP", scheduled for Friday, Jun 8 @ 10:00. The talk got about 120 attendees and as usual 45 minutes were not enough! His slides can be found here.
  • PHP Interntaional Conference, Berlin, Germany, Jun 4-5, 2013:
    • Our speakers here were:
      • Ulf Wendel, "MySQL meets NoSQL", scheduled for Jun 4, @10:00 & "An auto-sharding Database Cluster in a Nutshell" scheduled for Jun 5@12:15 - both slides can be found at Ulf's slideshare. Ulf got assigned a room with about 100 seats for the non-technical MySQL meets NoSQL talk. The room turned out to be too small: it did not fit all attendees!! Due to high demand the organizers stopped people from entering the room and the talk was repeated later the day. Upon repetition the room filled up again. The estimate was 200 listeners in total. The second talk "An auto-sharding Database Cluster in a Nutshell" was more technical and about 70 people attended.
      • Andrey Hristov on "Write your own SAPI", scheduled for Jun 5, 15:45. Andrey got about 20 attendees at his talk. The topic was pretty technical and going quite deep that actually the auditory for it is small. After all the talk went very well.
    • We had a MySQL booth in the exhibition area with Mario Beck, Werner Ressle, Juergen Giesel and Lenka Kasparova staffing that. A few people stopped at the booth talking about MySQL & Oracle. The most common interest we heard was about the plans Oracle has with MySQL, we ensured attendees that MySQL is not going to be killed and will stay open sourced!
    • Some Photos taken by organizers:
  • Linux Solutions, Paris, France, May 28-29, 2013:
    • Olivier Zemrag presented talk on "NoSQL & MySQL" with very positive feedback. We had also a booth shared with Oracle Linux and VM team. All groups reported a lot of attendees and interest in Oracle's solutions. Xavier Gerald also got a chance to talk about MySQL at Plateau TV (available at YouTube). Thanks everyone who stopped at our booth!
  • DrupalCamp Goteborg, May 25, 2013:
    • Sven Sandberg attended and gave a speech on "Scalability and Availabiltiy with MySQL Replication" at this show. Slides can be downloaded from Slideshare. There were about 100 registered participants, but not everyone was there all the time. There were two parallel sessions, Sven's one was in the bigger room with the audience of ~30-40 people. People were very positive and interested and asked a lot of questions during the talk, most of them were on technical aspect of Sven's material.
  • NoSQL Search Roadshow in Berlin on May 16, 2013:
    • NoSQL Roadshows covers all databases as long as they are "NoSQL". People giving introductions to Riak, Neo4j, BigData, MongoDB. Overall the show got 90 attendees with 35 of them on our talk given by Mario Beck the MySQL Sales Consultant attended the NoSQL Roadshow in Berlin talking about "MySQL & NoSQL: Best of both worlds". Mario got very positive feedback with a lot of questions.

Friday Jun 07, 2013

MySQL Connect Tutorials

MySQL Connect 2013 will be bigger and even better. In addition to the keynotes, conference sessions, Birds-of-a-Feather sessions, and hands-on labs, you have the opportunity to include an additional day of tutorials on Monday, September 23.

Whether you are getting started with MySQL or an experienced user, the following tutorials will allow you to acquire in-depth knowledge, directly from Oracle's MySQL Engineers:

  • Getting Started with MySQL: Learn the Essentials
  • Enhancing Productivity with MySQL 5.6 New Features
  • How to Analyze and Tune SQL Queries for Better Performance
  • MySQL 5.6 Replication Tips and Tricks
  • MySQL 5.6 Performance Tuning and Best Practices
  • Getting Started with MySQL Cluster

Learn more about MySQL Connect tutorials and sign up now to secure your seat - space is limited.

Early Bird Discount: Register for MySQL Connect by July 19, 2013 and you’ll save US$500 off the onsite price. Plan to Attend Oracle OpenWorld or JavaOne? You can add the MySQL Connect event to your Oracle OpenWorld or JavaOne registration for only US$100.

Don’t miss MySQL Connect, and MySQL Connect Tutorials! Register Now!

Thursday Apr 25, 2013

Driving MySQL Innovation

Oracle's VP of MySQL Engineering Tomas Ulin delivered on Tuesday a keynote entitled "Driving MySQL Innovation for Next Generation Applications" at the Percona Live Conference.

If you haven't seen it yet, we highly encourage you to watch it.

Tomas covers:

  • Oracle's Investment in MySQL
  • MySQL 5.6
  • Trends and Product Directions

He makes it very clear that Oracle:

  • Invests in MySQL like Never Before
  • Drives MySQL Innovation
  • Makes MySQL Better for Next Generation Web, Cloud and Big Data Applications

Enjoy the keynote!

Thursday Apr 18, 2013

Adzuna Relies on MySQL to Support Explosive Growth

Adzuna is a fast growing search engine for classified ads specialized in jobs, properties and cars. Headquartered in the UK and launched in 2011, Adzuna searches thousands of sites and tens of millions of ads to make it very easy to find the perfect job, home or car locally. It furthermore provides a wealth of statistics such as salaries trends graphs and comparisons, geographic jobs maps, house prices...and more. Additionally, Adzuna is integrated with Facebook and LinkedIn and shows open vacancies one is connected to through his/her own network. The search engine powers a number of government applications and is integrated into the UK's Prime Minister economic dashboard.


  • When Adzuna's founders were selecting the database powering the search engine's architecture, they were planning for scalability and reliability. Not only did they expect fast growth but also unpredictable growth. The number of users could indeed jump from ten thousand to one million in a single day, and any downtime or scalability was simply not an option as it could turn away new users from the site forever, and undermine its reputation form the start.
  • As a Web startup, low Total Cost of Ownership was essential, and the team also desired to implement a database solution they would be able to customize and tailor to their specific needs.


  • The Adzuna team selected MySQL as the database powering their search engine. They had very positive previous experiences of the world’s most popular open source database, and particularly appreciated its performance and scalability, reliability and ease of use, including the quality of its technical documentation. They were confident it would scale according to their requirements, and were ready to bet their business on the database.
  • Key MySQL strong points included its overall suitability for highly demanding web-based applications, its Geographic Information System (GIS) support and integration with the Perl programming language used by the company.
  • Adzuna's search infrastructure uses MySQL to normalize on a minute by minute basis the data from tens of millions of ads from thousands of websites across four continents, resulting in a database size exceeding 100 GB. The Adzuna engine constantly scrolls the Web and receives XML feeds from its partners, and a key to its success is its ability to turn a massive amount of unstructured data into structured data that can be stored, understood and searched by it users. The team decided to use the Apache Solr open source search platform as front end, leveraging its NoSQL features. Data is subsequently transferred into MySQL. The following diagram describes the Adzuna architecture:
  • In order to help ensure scalability and reliability while focusing its resources on developing its business, The Adzuna team decided to rely on MySQL in the cloud, working with cloud services provider Media Temple.
  • The startup has experienced explosive growth since its launch, currently serving 2 million unique visitors per month, and it recently expanded in Germany, Australia, Canada, South Africa and Brazil.  MySQL totally fulfills the expectations of the Adzuna team, who is confident the database will scale to support their ambition to expand in 30 more countries and become the leading search engine for jobs, homes and cars worldwide.
  • As Taleo, Oracle's talent management cloud service, is increasingly used by Adzuna's partners, the company is currently looking at optimizing data transfer from Taleo to MySQL.

“My advice to young startups is to use MySQL, especially if you have high growth expectations. You’ll need to plan for unpredictability and to have a very robust backbone to support it, and that’s exactly what MySQL provides.” Andrew Hunter, Co-Founder, Adzuna

Wednesday Apr 10, 2013

MySQL Replication: Self-Healing Recovery with GTIDs and MySQL Utilities

MySQL 5.6 includes a host of enhancements to replication, enabling DevOps teams to reliably scale-out their MySQL infrastructure across commodity hardware, on-premise or in the cloud.

One of the most significant enhancements is the introduction of Global Transaction Identifiers (GTIDs) where the primary development motivation was:

- enabling seamless failover or switchover from a replication master to slave

- promoting that slave to the new master

- without manual intervention and with minimal service disruption.

You can download the new MySQL Replication High Availability Guide to learn more.  The following sections provide an overview of how GTIDs and new MySQL utilities work together to enable self-healing replication clusters.  


To understand the implementation and capabilities of GTIDs, we will use an example illustrated below:

- Server “A” crashes

- We need to failover to one of the slaves, promoting it to master

- The remaining server becomes a slave of that new master

Figure 1: MySQL Master Failover and Slave Promotion

As MySQL replication is asynchronous by default, servers B and C may not have both replicated and executed the same number of transactions, i.e. one may be ahead of the other. Consider the following scenarios:

Scenario #1

- Server B is ahead of C and B is chosen as the new master;

- [Then] Server C needs to start to replicate from the first transaction in server B that it is yet to receive;

Scenario #2

- Server C has executed transactions that have so far not been received by Server B, but the administrator designates Server B as the new master (for example, it is configured with higher performing hardware than Server C).

- Server B therefore needs to execute later transactions from Server C, before assuming the role of the master, otherwise lost transactions and conflicts can ensue.

GTIDs apply a unique identifier to each transaction, so it is becomes easy to track when it is executed on each slave. When the master commits a transaction, a GTID is generated which is written to the binary log prior to the transaction. The GTID and the transaction are replicated to the slave.

If the slave is configured to write changes to its own binary log, the slave ensures that the GTID and transaction are preserved and written after the transaction has been committed.

The set of GTIDs executed on each slave is exposed to the user in a new, read-only, global server variable, gtid_executed. The variable can be used in conjunction with GTID_SUBTRACT() to determine if a slave is up to date with a master, and if not, which transactions are missing.

A new replication protocol was created to make this process automatic. When a slave connects to the master, the new protocol ensures it sends the range of GTIDs that the slave has executed and committed and requests any missing transactions. The master then sends all other transactions, i.e. those that the slave has not yet executed. This is illustrated in the following example (note that the GTID numbering and binlog format is simplified for clarity):

Figure 2: Automatically Synchronizing a New Master with it's Slaves

In this example, Server B has executed all transactions before Server A crashed. Using the MySQL replication protocol, Server C will send “id1” to Server B, and then B will send “id 2” and “id3” to Server C, before then replicating new transactions as they are committed. If the roles were reversed and Server C is ahead of Server B, this same process also ensures that Server B receives any transactions it has so far not executed, before being promoted to the role of the new master.

We therefore have a foundation for reliable slave promotion, ensuring that any transactions executed on a slave are not lost in the event of an outage to the master.

MySQL Utilities for GTIDs

Implemented as Python-based command-line scripts, the Replication utilities are available as a standalone download as well as packaged with MySQL Workbench. The source code is available from the MySQL Utilities Launchpad page.

The utilities supporting failover and recovery are components of a broader suite of MySQL utilities that simplify the maintenance and administration of MySQL servers, including the provisioning and verification of replication, comparing and cloning databases, diagnostics, etc. The utilities are available under the GPLv2 license, and are extendable using a supplied library. They are designed to work with Python 2.6 and above.

Replication Utility: mysqlfailover

While providing continuous monitoring of the replication topology, mysqlfailover enables automatic or manual failover to a slave in the event of an outage to the master. Its default behavior is to promote the most viable slave, as defined by the following slave election criteria.

• The slave is running and reachable;

• GTIDs are enabled;

• The slaves replication filters do not conflict;

• The replication user exists;

• Binary logging is enabled.

Once a viable slave is elected (called the candidate), the process to retrieve all transactions active in the replication cluster is initiated. This is done by connecting the candidate slave to all of the remaining slaves thereby gathering and executing all transactions in the cluster on the candidate slave. This ensures no replicated transactions are lost, even if the candidate is not the most current slave when failover is initiated.

The election process is configurable. The administrator can use a list to nominate a specific set of candidate slaves to become the new master (e.g. because they have better performing hardware).

At pre-configured intervals, the utility will check to see if the server is alive via a ping operation, followed by a check of the connector to detect if the server is still reachable. If the master is found to be offline or unreachable, the utility will execute one of the following actions based on the value of the failover mode option, which enables the user to define failover policies:

• The auto mode tells the utility to failover to the list of specified candidates first and if none are viable, search the list of remaining slaves for a candidate.

• The elect mode limits election to the candidate slave list and if none are viable, automatic failover is aborted.

• The fail mode tells the utility to not perform failover and instead stop execution, awaiting further manual recovery actions from the DevOps team.

Via a series of Extension Points users can also bind in their own scripts to trigger failover actions beyond the database (such as Virtual IP failover). Review the mysqlfailover documentation for more detail on configuration and options of this utility.

Replication Utility: mysqlrpladmin

If a user needs to take a master offline for scheduled maintenance, mysqlrpladmin can perform a switchover to a specific slave (called the new master). When performing a switchover, the original master is locked and all slaves are allowed to catch up. Once the slaves have read all events from the original master, the original master is shutdown and control is switched to the new master.

There are many Operations teams that prefer to take failover decisions themselves, and so mysqlrpladmin provides a mechanism for manual failover after an outage to the master has been identified, either by using the health reporting provided by the utilities, or by alerting provided by a tool such as the MySQL Enterprise Monitor.

It is also possible to easily re-introduce recovered masters back to the replication topology by using the demote-master command and initiating a switchover to the recovered master.

Review the mysqlrpladmin documentation for more detail on configuration and options of the utility.

Resources to Get Started

In addition to the documentation, two additional resources are useful to enable you to learn more:

- MySQL replication utilities tutorial video

- MySQL replication guide: building a self healing replication topology


The combination of options to control failover or switchover and the ability to inform applications of the failover event are powerful features that enable self-healing for critical applications.

Thursday Apr 04, 2013

MySQL 5.6 Replication: All That Is New, On-Demand

The new MySQL 5.6 GA release delivers a host of new capabilities to support developers releasing new services faster, with more agility, performance and security .

One of the areas with the most far-reaching set of enhancements is MySQL replication used by the largest web, mobile and social properties to horizontally scale highly-available MySQL databases across distributed clusters of low cost, commodity servers.

A new on-demand MySQL 5.6 replication webinar takes you on a guided tour through all of those enhancements, including:

- 5x higher master and slave performance with Binary Log Group Commit, Multi-Threaded Slaves and Optimized Row-based replication

- Self healing replication with Global Transaction Identifiers (GTIDs), utilities and crash-safe masters and slaves

- Replication event checksums for rock-solid data integrity across a replication cluster

- DevOps features with Time-Delayed Replication, Remote binary log backup and new CLI utilities

We had some great questions during the live session - here are a few:

Question: When multi-threaded slave is configured, how do you handle multi-database DML? 

Answer: When that happens the slave switches to single-threaded mode for that transaction. After it is applied, the slave switches back to multi-threaded mode.

Question: We have seen in past that replication would sometime break when complex queries get fired or alter statements take place. Neither row based or Statement based replication guaranteed 100% fail safe replication. Does MySQL5.6 address this issue ?

Answer: Replication can fail for several specific reasons. There is no general algorithm enabling "100% fail safe" replication. But we made sure that all that are unsafe are either converted to row based replication or issue warnings.

Question: We are looking for a HA cluster solution where most of the websites are Wordpress based. Do you have any recommendations on what kind of replication solution should we choose? The tables are using innodb

Answer: Using MySQL 5.6 with the master/slave replication we are discussing today, configured with GTIDs and using the mysqlfailover utility will provide you High Availability for your Wordpress cluster and InnoDB tables. Nothing you need to add - it is all part of MySQL you download today

Question: I have question about data loss and translating my-bin.000132 to my-bin.00101 when a master fails?

Answer: That's exactly the problem GTIDs address. Without GITDs it's hard to know the correct position on my-bin.000101 that corresponds to my-bin.000132.

With GTIDs we don't need to know positions, only what the slave has already applied, knowing that it's simple to send to the new master any missing transactions that are on other slaves. The data that was already on my-bin.00132 can be ensured that it was sent to a slave using Semi-syncronous replication.

Question: How do the new utilities work with a Pacemaker/Corosync setup?

Answer: The utilities integrate with Pacemaker/Corosync via extension points. The MySQL Pacemaker agent can call rpladmin to perform a switchover.

Question: Where can I learn more about supported HA solutions for MySQL?

Answer: From the Guide to MySQL HA solutions. I hope you find this useful

Question: Are there any plans to move replication from host-based to either 'database' or 'table' based?

Answer: Current MySQL replication supports replication of specific databases or tables from a Host using Replication filters. This means, we support Replication of a host (all data which could be replicated), replication of specific databases per host and specific tables per host. (You can ignore databases and tables using filters too).

For these and other questions, along with the full replay of the webinar, register here

Tuesday Mar 26, 2013

Upcoming MySQL Events in Europe

Oracle's MySQL team in Europe is very busy running or participating to a number of events during the upcoming couple of months.

Join us to learn about the latest developments and get all your questions answered!

More events will be scheduled worldwide and listed on our events page.

MySQL User Group meeting, Stockholm, Sweden
April 10

MySQL Tech Tour: Delivering Flexible, Robust and Elastic Solutions for the Web and the Modern Enterprise - Reading, UK
April 11

MySQL Tech Tour: From the Web to the Cloud - München, Germany

April 17

Norwegian User Group Conference 2013 - Oslo, Norway
April 17

MySQL Tech Tour: From the Web to the Cloud - Hannover, Germany

April 18

MySQL Tech Tour: From the Web to the Cloud - Baden, Switzerland
April 24

MySQL Tech Tour: From the Web to the Cloud – Rome, Italy
May 7

MySQL Tech Tour for Software & Hardware Vendors: Improving Your Products with New MySQL Features and Faster Performance - London, UK
May 15

We hope to see many of you there!

Thursday Mar 21, 2013

ip.access Relies on MySQL to Support Mobile Traffic Growth

ip.access specialises in delivering full end-to-end small cell solutions for Tier 1 and Tier 2 telecom operators around the world. Headquartered in Cambridge, UK, ip.access has been deploying small cell solutions for over 10 years, initially in 2G but now with 3G and 4G products.  They have products integrated in over 100 customer networks around the world, with the capability to accelerate the introduction of small cell solutions into networks irrespective of use case, technology or deployment model.

Small Cells are low-power wireless Access Points that are deployed via standard internet connections and operate within the Mobile Operators' licensed spectrum. Network coverage and signal quality are major influences on subscriber satisfaction and retention, so operators leverage small cells to cost-effectively support the growth in mobile data traffic and cover areas of poor network coverage.

In addition to the small cell access points, the ip.access complete solutions include gateways that bridge between the small cell network and the existing mobile core networks, and a Network Orchestration System for configuration, management, monitoring and reporting across the network.


  • ip.access solutions are deployed within mission critical telecom environments. The database they would integrate needed to provide five nines (99,999%) availability in order to ensure continuous coverage and access to the mobile operators’ networks.
  • The Network Orchestration System (NOS) required a database consolidating the network inventory, status and monitoring data into one centralized, scalable and secure system.  It had to be capable of serving a network of over a million small cell units. Moreover, the database was to provide the high performance read/write access needed today as well as in the future, with transactional demands rising as the next generation self-organizing networks drive ever more sophisticated event processing within the NOS.
  • A cost-effective database solution was critical in order to allow operators to test the ip.access offerings during a trial period, or to start with relatively small deployments. Yet, the database had to be highly scalable in order to support the larger deployments of Tier 1 mobile operators as they take early stage pilots to full national roll-out.
  • The system was designed around the same concepts as the so-called “brain” within mobile networks, the HLR (Home Location Register) which stores details of every subscriber and their location. Like traditional telecoms Intelligent Network (IN) platform architectures, there is a master database running on centralized servers, accessed by application services running on front-end servers. Consequently, the database had to be plug & play across multiple back-end servers to scale the solution in an N+1 environment.
  • Database integrity was paramount, including strong referential integrity checking, as losing data or its full relationship, was not an option.
  • Other considerations included but were not limited to:
  • Non-service affecting backup of the database and High Availability mechanisms
  • Geographical redundancy
  • Low to zero administration overhead
  • Access to maintenance releases, bug fixes, patches and updates
  • Availability of database performance monitoring and tuning tools
  • 24 X 7 Support
  • Globally deployable and locally supportable through local partners
  • Access to database tuning experts and architecture consultancy services to optimise performance in the core product and in individual projects.


  • The ip.access team evaluated several databases, and also considered the option to build its own database solution. They ultimately selected MySQL, which delivered the required performance & scalability, high availability and zero administration capabilities, while being a cost-effective solution fulfilling their other requirements. Additionally, the MySQL database and MySQL Cluster are proven solutions in telecom environments that demand five nines availability, powering the mission critical HLR systems of numerous Network Equipment Providers.
  • MySQL databases are integrated within the small cell access controller, providing real-time information about the access points connected to the network, as well as within the NOS, ensuring the configuration, monitoring and management of the system and delivering real-time performance information, alarms and various Key Performance Indicators (KPIs).
  • For installations counting up to 250K small cells, MySQL Enterprise Edition is deployed on active-standby servers. High Availability and geographical redundancy are achieved through DRBD (Distributed Replicated Block Device) and three-way replication.
  • In networks comprising over 250K small cells, or requiring utmost read/write access performance for the new breed of location presence services, performance KPIs threshold calculation and correlation…etc, MySQL Cluster Carrier Grade Edition is typically implemented.
  • The MySQL Enterprise Monitor and Query Analyzer management tools included in the MySQL Enterprise and MySQL Cluster Carrier Grade Editions enable simple and rapid performance monitoring and tuning when needed.
  • Relying on Oracle’s MySQL database solutions, ip.access delivers complete end-to-end systems to mobile operators, beyond access points, enabling them to “small cell enable” their networks. Moreover, the company’s broad portfolio allows Mobile Service Providers to start pilot projects and run tests cost-effectively, and then to very rapidly scale as needed.
  • Choosing MySQL paid off for ip.access. It enabled the company to focus on what they do best, investing their resources in the development of a differentiated solution. It accelerated time to market and allowed ip.access to offer flexible solutions to its customers, without imposing major pricing constraints on entry-level deployments. Finally, the features and MySQL innovation driven by Oracle ensure ip.access that the MySQL database and MySQL Cluster will continue to represent a foundation of choice for their next generation offerings.                
  • Oracle is a strategic partner to ip.access, which furthermore uses the AcmePacket products for its security gateways, and offers Oracle Sun hardware products to operators wishing the hardware to be supplied as part of the end-to-end small cell solutions. Oracle RAC can also be used within the ip.access solutions should the operator requirement be defined.

“Oracle’s MySQL solutions allow us to focus on building differentiated solutions on top of a solid foundation that we don’t need to worry about. The ability to define a cost effective standard solution that can scale up to meet any operator's need was critical to us.  MySQL made the build vs buy decision an easy one.” Gavin Ray, VP Product & Marketing, ip.access

Thursday Mar 14, 2013

MySQL User Group Meeting

MySQL User Group meeting, Stockholm, Sweden - April 10, 2013
After some time the Swedish MySQL User Group is organizing and announcing the upcoming MySQL User Group meeting in Stockholm!!! Everyone who are around that area on April 10, 2013, please make sure that you do not miss this great opportunity to listen and ask questions the main guest Mats Kindahl, (the Senior Principal Software Developer MySQL) who will be talking on Replication news on MySQL 5.6.!!!  

Above this main topic and Q&A on MySQL Replication, you will also have an opportunity to suggest topics for the upcoming SMUG meetings as well as enjoy the food & mingle.

Date: April 10, 2013
Start: at 4pm
Where (address) : Emineo; Lilla Västerbron 20; 11219 Stockholm; Sweden
URL for registration & updates: LinkedIn; Facebook
Proposed Agenda:

  • Replication news in MySQL 5.6 by Mats Kindahl, Senior Principal Software Developer MySQL
  • Q&A MySQL Replication
  • Topics for upcoming SMUG meetings
  • Food & mingle

Come to join us!!!


Get the latest updates on products, technology, news, events, webcasts, customers and more.




« April 2014