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 121 to 150 of 32827 Next 30 Older Entries
MariaDB Replication, MaxScale and the need for a binlog server
+2 Vote Up -0Vote Down


This is an introduction to MariaDB Replication and to why we need a binlogs server and what this is. The first part is an introduction to replication basics, and if you know this already, then you want want to skip past the first section or two.

MariaDB Replication

MySQL and MariaDB has a simple but very effective replication system built into it. The replication system is asynchronous and is based on a pull, instead of a push, system. What this means in short is that the Master keeps track of the DML operations and other things that might change the state of the master database and this is stored in what is called the binlog. The slave on the other hand is responsible for getting the relevant information from the master to keep up to speed. The binlogs consist of a number of files that the master generates, and the traditional
  [Read more...]
Managing shards of MySQL databases with MySQL Fabric
+1 Vote Up -1Vote Down

This is the fourth post in our MySQL Fabric series. In case you’re joining us now, we started with an introductory post, and then discussed High Availability (HA) using MySQL Fabric here (Part 1) and here (Part 2). Today we will talk about how MySQL Fabric can help you scale out MySQL databases with sharding.


At the time of writing, MySQL Fabric includes support for range- and hash-based sharding. As with HA, the functionality is split between client, through a MySQL Fabric-aware connector; and server, through the

  [Read more...]
MySQL Cluster 7.2
+10 Vote Up -1Vote Down
MySQL Cluster 7.2 (7.2.17 GA, published on Friday, 11 Jul 2014)
MySQL Cluster 7.3
+5 Vote Up -2Vote Down
MySQL Cluster 7.3 (7.3.6 GA, published on Friday, 11 Jul 2014)
Harnessing the power of master/slave clusters to operate data-driven businesses on MySQL
+1 Vote Up -0Vote Down
Users seeking high availability, DR and zero downtime maintenance operation for business-critical MySQL applications face confusing choices. Is multi-master or master/slave clustering better?  What about synchronous versus asynchronous replication? Using a plain vanilla, stock MySQL or a modified version of it? Which of these choices are right for data-driven businesses that depend on fast,
MySQL Enterprise Monitor 2.3.18 has been released
Employee_Team +1 Vote Up -0Vote Down

MySQL Enterprise Monitor 2.3.18 is now available for download on the My Oracle Support (MOS) web site. This is a maintenance release that updates various third party components. You can find more information on the contents of this release in the change log.

You will find binaries for the new release on My Oracle Support. Choose the "Patches & Updates" tab, and then choose the "Product or Family (Advanced Search)" side tab in the "Patch Search" portlet.

Important: MySQL Enterprise Monitor (MEM) 3.0 offers many significant improvements over MEM 2.3. If you have not already analyzed upgrading any remaining 2.3 installations to MEM 3.0, we highly recommend you do so.

  [Read more...]
Manually Switch Slaves to new Masters in mySQL 5.6 (XTRADB 5.6)
+0 Vote Up -0Vote Down
I'm really excited about Fabric which was recently announced. Everything it does has been a variety of scripts for  me or manual tasks, but before I can integrate Fabric into my system I must know more about it. When dealing with live-data and moving servers around I still do things manually just because it makes me feel better to know that if data is lost, I was the cause for doing something dumb. Basically I need to know everything about Fabric including line by line execution until I will deploy it.

Here are my steps for switching and replacing a Shard Slave.
Imagine having a setup in the following Config.
Shard Server - this is the master endpoint

The Global Shard which holds Friend Info to join against is 

  [Read more...]
How to answer questions
+1 Vote Up -0Vote Down
Are you somehow responsible for operating a DBMS in production? Congratulations! You are going to get a lot of questions so learn how to be efficient while answering them. Questions can be cheap to ask because speculation is free. A non-speculative answer is expensive when it requires research and experiments. Good and bad questions will arrive faster than good answers can be provided. How do you remain productive assuming you don't ignore the questions? Make the answer as inexpensive as the question. Problem solved? Here is a short guide.

Preferred version

I prefer these questions over the ones that follow. I don't know whether the non-preferred variants are asked more frequently or whether I am more likely to remember them. My blogs, smalldatum and mysqlha, have a
  [Read more...]
North Texas MySQL Users Group Meeting RSVP
Employee +1 Vote Up -0Vote Down

Please RSVP for next Monday’s North Texas MySQL Users Group Meeting so we will know how much pizza to order.

MYSQL Tuning Trick for Queries and Server Tuning
Monday July 14th 6PM!

Event is free to the public. Newbies welcome!

Presented By: Dave Stokes, MySQL Community Manager North America, Oracle Corporation

Plus meet Oracle Ace, Oracle MySQL Ace, and IOUG Big Shot George Trujillo who has recently moved to DFW.

Oracle Corporation
6031 Connection Drive
Suite 900 Room 9068
Irving, TX 75038

Start :Monday, July 14, 2014 6:00 PM

  [Read more...]
Docker: Containers for the Masses -- The docker_facts module
+0 Vote Up -0Vote Down

It has been over a week or so and I have realized that I need to continue delivering blog posts in the series "Docker: Containers for the Masses" by covering a module for Ansible that I developed, docker_facts

This blog post is the latest in the series:

  [Read more...]
Percona Toolkit 2.2.9 is now available
+1 Vote Up -0Vote Down

Percona is glad to announce the release of Percona Toolkit 2.2.9 on July 10, 2014 (downloads are available here and from the Percona Software Repositories). This release is the current GA (Generally Available) stable release in the 2.2 series.

Bugs Fixed:

  [Read more...]
How to Configure ClusterControl to run on nginx
+0 Vote Up -0Vote Down
July 10, 2014 By Severalnines

ClusterControl uses the Apache HTTP Server to serve its web interface, but it is also possible to use nginx. nginx + PHP fastcgi is well-known for its capabilities to run on a small memory footprint compared to standard Apache + PHP DSO.


In this post, we will show you how to run ClusterControl on nginx web server by swapping out the default Apache web server installed during the initial deployment. This blog post does not mean that we officially support nginx, it just an alternative way that a portion of our users have been interested in. For instance, Phil Bayfield

  [Read more...]
Recover after DROP TABLE. Case 1
+0 Vote Up -0Vote Down


Human mistakes are inevitable. Wrong “DROP DATABASE” or “DROP TABLE” may destroy critical data on the MySQL server. Backups would help however they’re not always available. This situation is frightening but not hopeless. In many cases it is possible to recover almost all the data that was in the database or table.
Let’s look how we can do it. The recovery plan depends on whether InnoDB kept all data in a single ibdata1 or each table had its own tablespace . In this post we will consider the case innodb_file_per_table=OFF. This option assumes that all tables are stored in a common file, usually located at /var/lib/mysql/ibdata1.

Wrong action – table deletion

For our scenario we will use

  [Read more...]
A common problem
+0 Vote Up -0Vote Down

With the majority of the clients where I perform server audits I find an issue where both the host server and MySQL are not configured with anything other than the default values for the open files limit. This can cause a system stalling event where users are not able to access the server. What do we do to keep this from happening? I'm glad you asked! But first a little background...


The open_files_limit configuration value is used to specify the number of open files a user is allowed to have at any one time. This is done both in the operating system, and in the MySQL configuraition. The reason that it matters to MySQL is that every table consists of multiple files. When the process user, typically mysql, is accessing tables for a query then really the user is accessing files. Since there can be hundreds of users at any one times the number of open files can quickly add up. With a default of

  [Read more...]
4 Things To Know About MySQL Prepared Statements
+0 Vote Up -0Vote Down

While writing our TCP stream reassembly and MySQL protocol reverse-engineering algorithms, a few finer points of the MySQL protocol and internals came up. None of this is new information, but you may not have stumbled upon it before.

Prepared Statement IDs

Prepared statements are generated by the COM_STMT_PREPARE protocol command, with the statement text as an argument. The server prepares the statement, and assuming all goes well, returns a statement ID. This is a number that the client needs to remember for future executions of the prepared statement. The ID increments with each new prepared statement.

Statement Scope

The statement is scoped to the connection that created it. It's not visible or valid for any other connection. Statement IDs are private to the connection too, so server-wide you will not have

  [Read more...]
+0 Vote Up -0Vote Down

We are using Percona Server + TokuDB engine extensively in Percona Cloud Tools and getting real usage operational experience with this engine. So I want to share some findings we came across, in hope it may help someone in their work with TokuDB.

So, one problem I faced is that SELECT * FROM INFORMATION_SCHEMA.TABLES is quite slow when I have thousands tables in TokuDB. How slow? For example…

select * from information_schema.tables limit 1000;
1000 rows in set (18 min 31.93 sec)

This is very similar to what InnoDB faced a couple years back. InnoDB solved it by adding

  [Read more...]
Check for MySQL slave lag with Percona Toolkit plugin for Tungsten Replicator
+0 Vote Up -0Vote Down

A while back, I made some changes to the plugin interface for pt-online-schema-change which allows custom replication checks to be written. As I was adding this functionality, I also added the --plugin option to pt-table-checksum. This was released in Percona Toolkit 2.2.8.

With these additions, I spent some time writing a plugin that allows Percona Toolkit tools to use Tungsten Replicator to check for slave lag, you can find the code at

  [Read more...]
MySQL Community Dinner 2014
+1 Vote Up -0Vote Down
Hello all,

I hope you're doing well. After the successful event last year it's a no brainer to arrange another community dinner when we're all together again in London this November. We had a fantastic turn-out for the meal last year, seating over 100 MySQLers in a venue whom were expecting only 60. So this year join the MySQL community again for a bite to eat and a beverage or two and discuss life, love and data.

The When
Monday, November 3rd 2014

The Where 
Masala Zone, Covent Garden

The Why
We have a vibrant community surrounding the MySQL ecosystem. Whether you want to talk about the meaning of life with Colin Charles or find out how Facebook take their logical backups even quiz Shlomi Noach about where thinks up his latest and greatest MySQL tools; why not do it

  [Read more...]
FromDual.en: FromDual Performance Monitor for MySQL 0.9.3 has been released
+0 Vote Up -0Vote Down
Taxonomy upgrade extras: mysqlperformancemonitormonitoringmpmmaasperformance monitor

FromDual has the pleasure to announce the release of the new version 0.9.3 of its popular Database Performance Monitor for MySQL, Galera Cluster, MariaDB and Percona Server mpm.

This release contains various minor bug fixes and improvements.

You can download mpm from

  [Read more...]
Anemometer: MySQL Slow Query Monitor
+0 Vote Up -0Vote Down

Anemometer is a MySQL slow query monitoring tool. It's used to analyze/visualize slow query log, collected from MySQL instance to identify the problematic queries. Also, makes it easier to figure out what to optimize and how to track performance over time.


  • MySQL database to store query
  • pt-query-digest from Percona
  • slow query log from MySQL server
  • Web server with php


Configure, webserver with php, get aneommeter code from github and place into the document root of the webserver.

$ sudo git clone git://github.com/box/Anemometer.git
  [Read more...]
Fine-Tuning MySQL Full-Text Search with InnoDB
+0 Vote Up -0Vote Down

If you are using FULLTEXT indexes in MySQL and plan to switch from MyISAM to InnoDB then you should review the reference manual section on Fine-Tuning MySQL Full-Text Search to see what configuration changes may be required. As I mentioned in yesterday's post when comparing query results on my database with FULLTEXT indexes in MyISAM versus InnoDB I got different results. Specifically, the InnoDB tables were returning fewer results for certain queries with short FULLTEXT search terms. Here's an example of a query that returned fewer results on InnoDB:

select id from flite.ad_index where match(name,description,keywords) against('+v1*' IN BOOLEAN MODE);

  [Read more...]
Keeping your data work on the server using UNION
+0 Vote Up -0Vote Down
I have found myself using UNION in MySQL more and more lately. In this example, I am using it to speed up queries that are using IN clauses. MySQL handles the IN clause like a big OR operation. Recently, I created what looks like a very crazy query using UNION, that in fact helped our MySQL servers perform much better.

With any technology you use, you have to ask yourself, "What is this tech good at doing?" For me, MySQL has always been excelent at running lots of small queries that use primary, unique, or well defined covering indexes. I guess most databases are good at that. Perhaps that is the bare minimum for any database. MySQL seems to excel at doing this however. We had a query that looked like this:

select category_id, count(*) from some_table
    article_id in (1,2,3,4,5,6,7,8,9) and

  [Read more...]
TIMESTAMP Columns, Amazon RDS 5.6, and You
+1 Vote Up -0Vote Down

This comes from an issue that I worked on recently, wherein a customer reported that their application was working fine under stock MySQL 5.6 but producing erroneous results when they tried running it on Amazon RDS 5.6. They had a table which, on the working server, contained two TIMESTAMP columns, one which defaulted to CURRENT_TIMESTAMP and the other which defaulted to ’0000-00-00 00:00:00′, like so:

CREATE TABLE mysql56 (
  ts2 TIMESTAMP NOT NULL DEFAULT '0000-00-00 00:00:00',

However, under Amazon RDS, the same table looked like this:



  [Read more...]
MySQL Central @ OpenWorld Keynotes
Employee_Team +2 Vote Up -0Vote Down

A few weeks ago we announced the availability of the MySQL Central @ OpenWorld content catalog.

We're now pleased to announce additional keynotes delivered by MySQL power users. They will follow the "State of The Dolphin" keynote address by Oracle's Chief Corporate Architect Edward Screven and VP of MySQL Engineering Tomas Ulin, and include:

High Speed Event Logging at Booking.com
Nicolai Plum, Senior Systems Architect, will provide an

  [Read more...]
Testing MySQL FULLTEXT indexes in InnoDB using pt-upgrade
+0 Vote Up -0Vote Down

As I prepare to convert some MySQL tables with FULLTEXT indexes from MyISAM to InnoDB I want to verify that running a standard production query set against the tables will return the same results with InnoDB that it did with MyISAM. Since I read Matt Lord's blog post about the document relevancy rankings used for InnoDB full-text searches I knew to expect some differences when sorting by relevancy, so I want to focus on getting the same set of rows back, mostly ignoring the order in which the rows are returned.

Percona toolkit has a tool called pt-upgrade that works well for this purpose. I used 2 test servers with a copy of my production database. On one of the servers I left the

  [Read more...]
Munin graphing of MySQL
+0 Vote Up -0Vote Down

While there are many graphing tools out there and we’ve used Munin for a while now.

The MySQL plugin for Munin had fallen out of date and the show engine innodb status output changed in 5.5 making some bits of the plugin simply not work any more. Also the show global status has some extra variables so there was a need to create new graphs.

All of these are now in the 2.1.8+ development releases of Munin.

Here are samples of the new/updated graphs.


  [Read more...]
#DBHangOps 07/10/14 -- MySQL Index Types and more!
+0 Vote Up -0Vote Down
#DBHangOps 07/10/14 -- MySQL Index Types and More!

Check out the recording below!

Hello everybody!

Join in #DBHangOps this Thursday, July, 10, 2014 at 11:00am pacific (18:00 GMT), to participate in the discussion about:

  • Indexes in MySQL
    • Geo-spatial
    • Hash indexes
    • Fractal Indexes (TokuDB)

Be sure to check out the #DBHangOps twitter search, the @DBHangOps twitter feed, or this blog post to get a link for the google hangout on Thursday!

See all of you on Thursday!

Show notes


Spatial index resources

  [Read more...]
MaxScale 1.0-beta is out - Happy Birthday MaxScale!
+2 Vote Up -0Vote Down
It was a year ago, on a nice Sunday night of the English Summer (apologies for the oxymoron), that Mark Riddoch came to see me and together we headed to the Vansittart Arms, our local family pub round the corner. A pint of London Pride on one side and a Honey Dew on the other were the perfect add-on to Mark’s MacBook Pro, on which Mark was showing me the 0.1 version of MaxScale. It was the result of the joint efforts of Mark’s team, Massimiliano and Vilho, who had worked hard to bring to life the first version of something that I believe will be a natural addition to clusters of  [Read more...]
Sphinx in Docker. The basics.
+0 Vote Up -0Vote Down
With an ear to the interwebs, you’ll hear a few things about Docker. Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. In this blog post, I’m going to outline a very basic example of how to use Sphinx from within a Docker container. What is Docker? This [...]
ClusterControl Module for Puppet
+0 Vote Up -0Vote Down
July 7, 2014 By Severalnines

If you are automating your infrastructure using Puppet, then this blog is for you. We are glad to announce the availability of a Puppet module for ClusterControl. For those using Chef, we already published Chef cookbooks for Galera Cluster and ClusterControl some time back.  



ClusterControl on Puppet Forge


The ClusterControl module initial release is available on Puppet Forge, installing the

  [Read more...]
Previous 30 Newer Entries Showing entries 121 to 150 of 32827 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.