At FOSDEM 2014 ProxySQL and MaxScale were both presented. Both are proxy that can help build sophisticated MariaDB/MySQL architectures. But currently what is the most used proxy with MySQL? It is HAproxy. HAproxy is a level 4 proxy that has no knowledge of the MySQL protocol. Being low level makes it very fast but it [...]
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
Last Wednesday, I spoke at the San Francisco MySQL Meetup on the topic of changes coming in MySQL 5.7 (and later). We actually went through two different slide decks; the first on features being considered for deprecation in MySQL 5.7 (or later), and the second set providing a brief overview of the new features and benefits already introduced in MySQL 5.7 via the development milestone releases (DMRs) published to date. A big thanks to the entire SF Meetup group, and in particular the organizers (Erin, Mike and Darren), for having me. The event was streamed and recorded, and you can view the full presentation on YouTube. The slide deck can be found here.
The discussion around proposed deprecation was good, and this blog serves to document my own notes about what …
[Read more]The other day I was working on an issue where one of the slaves was showing unexpected lag. Interestingly with only the IO thread running the slave was doing significantly more IO as compared to the rate at which the IO thread was fetching the binary log events from the master.
I found this out by polling the SLAVE STATUS and monitoring the value of Read_Master_Log_Pos as it changed over time. Then compared it to the actual IO being done by the server using the pt-diskstats tool from the excellent Percona Toolkit. Note that, when doing this analysis, I had already stopped the slave SQL thread and made sure that there were no dirty InnoDB pages, otherwise my analysis would have …
[Read more]Over the last few days, I integrated the MySQL 5.6 GTID version of the Percona Replication Manager (PRM) work of Frédéric Descamps, a colleague at Percona. The agent supports the GTID replication mode of MySQL 5.6 and if the master suffers a hard crash, it picks the slave having applied the highest transaction ID from the dead master. Given the nature of GTID-based replication, that causes all the other slaves to resync appropriately to their new master which is pretty cool and must yet be matched by the regular PRM agent.
For now, it is part of a separate agent, mysql_prm56, which may be integrated with the regular agent in the future. To use it, download the agent with the link above, the pacemaker configuration is similar to the one of the regular PRM agent. If you start from scratch, have a look …
[Read more]PerconaLive 2014 program is published
After a few months of submissions and reviews, the program for PerconaLive MySQL Conference and Expo 2014 is published. The conference will be held in Santa Clara, from April 1 to 4, 2014.
Registration with early bird discount is available until February 2nd. If you plan to attend, this is probably the best time to act.
I will be presenting twice at the conference:
- MySQL Replication: Advanced features in all flavors it’s a 3 hours tutorial where I compare the …
As noted in a previous post, MySQL Connector/Java supports multi-master replication topographies as of version 5.1.27, allowing you to scale read load to slaves while directing write traffic to multi-master (or replication ring) servers. The new release of version 5.1.28 builds upon this, allowing live management of replication host (single or multi-master) topographies. This parallels functionality that has long existed for load-balanced connections, and enables users to add or remove hosts – or now promote slaves – for Java applications without requiring application restart. This post aims to …
[Read more]
The MySQL Utilities Team is pleased to announce the latest GA
release of MySQL Utilities. This release includes a number of
improvements for usability, stability, and a few enhancements. We
have also included a performance upgrade for exporting,
importing, and copying databases.
Improvements
The following highlights a few of the more significant
improvements.
* mysqldbexport, mysqldbimport, and mysqldbcopy have
multiprocessing support that allows for much improved
performance
* mysqlfrm can now generate a .frm file with storage engine
substitution
* Mac OS X packages added!
* mysqlserverinfo now includes the log files (error, general,
slow)
* mysqlprocgrep can now search and kill processes by id
* mysqlmetagrep can now search the body of routines with the new
--body option
* all utilities report license type with --version and
--help
* all utilities have the new …
In the MySQL team @ Oracle, we’ve been discussing changing the default values for MySQL replication so that they are safer to use.
Specifically:
| Setting | Current Value | Proposed New Value |
| sync_binlog | 0 | 1 |
| master-info-repository | FILE | TABLE |
| … |
My December 4 webinar, “Geographical disaster recovery with Percona Replication Manager (PRM),” gave rise to a few questions. The recording of the webinar and the slides are available here, and I’ve answered the questions I didn’t have time to address below.
Q1: Hi, I was wondering if corosync will work in cloud environment. As far as I know it is hard to implement because of no support of unicast or multicast.
A1: Corosync supports the udpu transport since somewhere in the 1.3.0 branch. udpu stands for udp unicast and it works in AWS for instance. Most recent distribution are using 1.4.x so it is easy to find.
Q2: For token wouldn’t it …
[Read more]
In MySQL Replication, users can filter statements either at
master (using –binlog-* startup options) or at the slave (using
–replicate-* startup options). Prior to MySQL-5.7.3, users could
set these filtering rules either through command line parameters
or by using my.cnf file. In either case MySQL server must be
restarted in order to change the filtering rules. It is not easy
to restart MySQL server in real time scenarios (because of
downtime issues and also loss of buffer cache resulting in
performance problems). It is always helpful having a way to
dynamically configure these filtering rules. Particularly in
environments where slaves are configured dynamically to replicate
certain databases or tables based on load and usage.
In MySQL-5.7.3, a new command “CHANGE REPLICATION FILTER”
has been introduced through which users can change the *slave*
side replication filters dynamically without the need for
restarting the …