Another day at the office...
"Whoa, the write workload on our statistical cluster has
suddendly increased by 20% and the filesystem that holds
the binary logs is no longer large enough".
Of course, I had warned the boss about this possibility when I
received those servers with that tiny 250G filesystem for
binlogs, but my red flag was just ignored as usual.
So here we are, presto I get this new shiny 600G LUN, but we need
to stop the damn MySQL server in order to repoint the log_bin
variable to the new storage area.
Dunno about you, but the idea of waking up at 2am to just perform
a variable change is not something that makes me particularly
happy. Not to mention the maintenance period that is needed
around it....
So, I decided to investigate a bit about the possibilities to do
such change without stopping the service.
As we all know, the log_bin …
Reminder: MTS = Multi-Threaded Slave.
Update 2017-04-17: since the publication of this post, many things happened:
the procedure for fixing a crashed slave has been automated (Bug#77496) Bug#80103 as been closed at the same time as Bug#77496 but I still think there are unfixed things, see Bug#81840
End of update 2017-04-17.
I will be talking about parallel replication at FOSDEM in Brussel on
A common way to implement point in time recovery capability is:
to regularly do a full backup of a database, and to save the binary logs of that database (or from its master if doing backups on a slave).
When point in time recovery is required you need to:
restore a backup, and apply the binary logs up to the point of recovery.
(Step # 2 and # b above are the ones that will be simplified
http://blog.booking.com/abstracting_binlog_servers_and_mysql_master_promotion_wo_reconfiguring_slaves.html
Follow the link above to read my latest article on the Booking.com Developer Blog. It is about Binlog Servers and how to promote a slave as the new master without reconfiguring all slaves.
This is also a good opportunity to remind you of my next talks:
I’ll be giving a talk about Binlog
This Log Buffer Edition throws spotlight on some of the salient blog posts from Oracle, SQL Server and MySQL.
- STANDARD date considerations in Oracle SQL and PL/SQL
- My good friend, Oracle icon Karen Morton passed away.
- Multiple invisible indexes on the same column in #Oracle 12c
- Little things worth knowing: Data Guard Broker Setup changes in 12c …
Lately I saw many cases when users specified option
--base64-output=DECODE-ROWS
to print out a statement representation of row events in MySQL binary logs just to get nothing. Reason for this is obvious: option
--base64-output=DECODE-ROWS
does not convert row events into its string representation, this is job of option
--verbose
. But why users mix these two options so often? This blog post is result of my investigations.
There are already two great blog posts about printing row events on the Percona blog: “Debugging problems with row based replication” by Justin Swanhart and “ …
[Read more]
In this blog, I will discuss about warnings that
users might face if they are trying to purge active/in_use
binary log which are introduced in MySQL-5.6.12/MySQL-5.7.2
releases. Before jumping directly to that, I will be
covering few basic things about PURGE BINARY LOGS command, about
safe way to purge the binary logs on a replication forum. If you
are good at basics on "PURGE BINARY LOGS" , you can choose to
directly move to the section (at the end of the blog) where I was
talking about these new warnings.
Introduction:
==========
A binary log file contains “events” that describe database
changes occurred on a MySQL Server (typically
called Master) that enabled binary logging using --log-bin.
On a Master server, the files that are related to binary logging
are binary log files (files with binlog_base_name.6_digit
serial_number) and a binary log index file (file with …
My latest post is online on the Booking.com blog: Evaluating MySQL Parallel Replication Part 3: Benchmarks in Production. In this post, I present benchmark results on MariaDB 10.0 parallel replication on four Booking.com production workloads.
This post is also the opportunity to promote my two talks at Percona Live Europe, taking place in Amsterdam from September 21 to 23:
Binlog Servers at
In my previous post, I used incremental backups in Percona XtraBackup as a method for rebuilding a Percona XtraDB Cluster (PXC) node without triggering an actual SST. Practically this reproduces the SST steps, but it can be handy if you already had backups available to use.
In this post, I want to present another methodology for this that also uses a full backup, but instead of incrementals uses any binary logs that the cluster may be producing.
Binary logs on PXC
Binary logs are not strictly needed in PXC for replication, but …
[Read more]Beware the SST
In Percona XtraDB Cluster (PXC) I often run across users who are fearful of SSTs on their clusters. I’ve always maintained that if you can’t cope with a SST, PXC may not be right for you, but that doesn’t change the fact that SSTs with multiple Terabytes of data can be quite costly.
SST, by current definition, is a full backup of a Donor to Joiner. The most popular method is Percona XtraBackup, so we’re talking about a donor node that must:
- Run a full XtraBackup that reads its entire datadir
- Keep up with Galera replication to it as much as possible (though laggy donors don’t send flow control)
- Possibly still be serving application traffic if you don’t remove Donors from rotation. …