In the previous post of this series we saw how you could use
mysqlrpladmin to perform manual failover/switchover when GTID replication is enabled in MySQL 5.6. Now we will review
mysqlfailover (version 1.4.3), another tool from the MySQL Utilities that can be used for automatic failover.
mysqlfailover can perform automatic failover if MySQL 5.6′s GTID-replication is enabled.
- All slaves must use
- The monitoring node
MySQL Utilities are a set of tools provided by Oracle to perform many kinds of administrative tasks. When GTID-replication is enabled, 2 tools can be used for slave promotion:
mysqlfailover. We will review
mysqlrpladmin (version 1.4.3) in this post.
mysqlrpladmin can perform manual failover/switchover when GTID-replication is enabled.
- You need to have your servers configured with
--master-info-repository = TABLE or to add the
--rpl-user option for the
We are pleased to inform you that the new Continuent Tungsten 2.0.2 is now available. Continuent Tungsten keeps data available to applications 7x24 through hardware failures, maintenance, and software upgrades. It ensures business continuity and performance by keeping up-to-date data closer to the user, and increases application throughput and improves response time by load balancing SQL
In this virtual course, you will learn how to get from a single database server to a scalable cluster, or from a brittle MySQL replication
system to a transparent, manageable Continuent Tungsten cluster.Â
discuss the benefits of leveraging Continuent Tungsten clustering with
MySQL, and walk you through the steps to implement a Continuent Tungsten
cluster in Amazon EC2.
In today's webinar, we discuss the multi-master capabilities of Continuent Tungsten to help you build and manage systems that spread data across multiple sites.Â
We cover important topics such as setting up large scale topologies, handling failures, and how to handle data privacy issues like removing personally identifiable information or handling privacy law restrictions on data movement. We
MySQL Cluster claims to achieve sub-second failover without any data loss for commited transactions. And I always wanted to show this in a demo. Now we created that demo finally. See Mark's blog
and Keith's blog
for setting up MySQL Cluster on RaspberryPi.
The nice thing about the RPis is that you can easily pull the plug to test failover. Ok, that is only one possible failure scenario but for sure the most obvious and more impressive than "kill -9".
That demo application is constantly using the database for storing new lines, removing old lines and reading all line data for the graphical view. There is no caching. It uses JDBC directly.
To document the setup here is the config.ini file [Read more...]
Modern NoSQL solutions make good, old MySQL Replication appear weak on High Availability (HA). Basically, MySQL users have three choices for MySQL Replication HA: give up on HA, believe that doubling single points of failures means HA, or go for a proper but complex solution. Albeit, as NoSQL world and competition proves, solid HA can be dead simple: embed a Group Communication System (GCS) into MySQL! No single point of failure and near zero client deployment is doable. In parts, the proposal surpassed Pacemaker/Corosync. Read on: story, slides, experimental code.
How To Configure Tungsten Connector For Load Balancing, Read/Write Splitting, Automatic Failover And Online Maintenance
How To Configure Tungsten Connector For Load Balancing, Read/Write Splitting, Automatic Failover And Online Maintenance
Tungsten clusters use the Tungsten Connector to ensure your applications transparently connect to the master. This enables fail over and seamless switching of masters for online maintenance. However, you can do far more. Tungsten Connector allows you to make better use of
Are you unsure of the steps needed to get your Continuent Tungsten cluster up-and-running? In this virtual course, we will teach you how to get from a single database server to a scalable cluster, or from a brittle MySQL replication system to a transparent, manageable Tungsten cluster.
We will discuss the benefits of leveraging Continuent Tungsten clustering with MySQL, and walk you through the
High Availability (HA) ensures all important business information is available for your application even when there is no database failure. This includes:
How about when you are upgrading your database schema?
What if you need to add memory to a database server or reconfigure/restart MySQL?
If your apps want to read data from a MySQL slave, how can you be sure they are not reading stale data
La haute disponibilité, c’est garantir aux applications un accès permanent aux données, même en cas de panne.
Même lorsque vous mettez à jour le schéma de vos bases ? Que vous ajoutez de la RAM sur un serveur ? Que vous reconfigurez ou redémarrez MySQL ?
Comment lire les données depuis un nœud esclave avec une garantie que les données sont à jour, sans changement applicatif ?
Cross-site databases are the next challenge facing today's MySQL-based businesses. Continuent Tungsten provides multiple options for spreading data across sites, including primary/DR, multi-master, and system-of-record approaches. Join us to learn how Continuent Tungsten enables replication, failover, and routing of transactions between sites.
We cover the following topics:
If you’re a user of MySQL Workbench then you may have noticed a pocket knife icon appear in the top right hand corner – click on that and a terminal opens which gives you access to the MySQL utilities. In this post I’m focussing on the replication utilities but you can also refer to the full MySQL Utilities documentation.
What I’ll step through is how to uses these utilities to:
- Set up replication from a single master to multiple slaves
- Automatically detect the failure of the master and promote one of the slaves to be the new master
- Introduce the old master back into the topology as a new slave and
Cross-site databases are the next challenge facing today's MySQL-based businesses. Continuent Tungsten enables multi-master with an innovative new architecture called System of Record that avoids data conflicts, ensures sites are ready for quick failover, and uses hardware resources efficiently.Watch this video from our 9/22/11 webcast to learn how Tungsten Enterprise enables System of Record
The following quirky dynamic SQL will scan each index of each table so that they’re loaded into the key_buffer (MyISAM) or innodb_buffer_pool (InnoDB). If you also use the PBXT engine which does have a row cache but no clustered primary key, you could also incorporate some full table scans.
To make mysqld execute this on startup, create /var/lib/mysql/initfile.sql and make it be owned by mysql:mysql
SET SESSION group_concat_max_len=100*1024*1024;
SELECT GROUP_CONCAT(CONCAT('SELECT COUNT(`',column_name,'`) FROM `',table_schema,'`.`',table_name,'` FORCE INDEX (`',index_name,'`)') SEPARATOR ' UNION ALL ') INTO @sql FROM information_schema.statistics WHERE table_schema NOT IN ('information_schema','mysql') AND seq_in_index = 1;
PREPARE stmt FROM @sql;
DEALLOCATE PREPARE stmt;
SET SESSION group_concat_max_len=@@group_concat_max_len;
and in my.cnf add a line [Read more...]
This is a Request for Input. Dual MySQL masters with MMM in a single datacentre are in common use, and other setups like DRBD and of course VM/SAN based failover solutions are conceptually straightforward also. Thus, achieving various forms of resilience within a single data-centre is doable and not costly.
Doing the same across multiple (let’s for simplicity sake limit it to two) datacentres is another matter. MySQL replication works well across longer links, and it can use MySQL’s in-built SSL or tools like stunnel. Of course it needs to be kept an eye on, as usual, but since it’s asynchronous the latency between the datacentres is not a big issue (apart from the fact that the second server gets up-to-date a little bit later).
But as those who have tried will know, having a client (application server) connection to a MySQL instance in a remote data-centre [Read more...]
The goal is to have only one entry in the Enterprise Monitor Dashboard that shows the status of the MySQL instance, no matter on which physical server in runs. There are two ways to achieve this:
- You can install the agent on both physical nodes
- You can install the agent on a shared storage.
In either case you have to make sure, that only one agent runs at a time. You have to integrate the agent into your cluster framework. I will not describe how this works, as it is highly dependant on your cluster framework.
The following description assumes, that you will install the agent on both physical nodes.Install the agent but DO NOT START the agent yet.
Edit the [agent-installdir]/etc/mysql-monitor-agent.ini
In the [mysql-proxy] section add the following line:
agent-host-id=[logical [Read more...]
To install the MEM agent in a way that both physical servers are listed in the MEM dashboard, you have to install the agent on both physical nodes. But: Do not start the agent after the installation!There are three different IDs in MEM: agent-uuid, mysql-uuid and host-id. Usually they are generated automatically and you will never notice these IDs. For more information about the meaning of the different IDs look at this very good explanation from Jonathon Coombes
.The agent stores the uuid and the hostid in a MySQL table called mysql.inventory. After a failover the other agent on the new node will notice "wrong" hostid and uuid entries in the inventory table. The agent will stop and ask you to TRUNCATE mysql.inventory. But with this procedure MEM creates a new instance, so all old data is [Read more...]
This Thursday (October 22nd, 13:00 UTC), Walter Heck (of Open Query) will present Dual Master Setups With MMM. MMM (Multi-Master Replication Manager for MySQL) is a set of flexible scripts to perform monitoring/failover and management of MySQL master-master replication configurations (with only one node writable at any time). Session slides (PDF).
The toolset also has the ability to read balance standard master/slave configurations with any number of slaves, so you can use it to move virtual IP addresses around a group of servers depending on whether they are behind in replication. For more
information, see mysql-mmm.org.
For MySQL University sessions you point your [Read more...]
This is a “dogfood” type story (see below for explanation of the term)… Open Query has ideas on resilient architecture which it teaches (training) and recommends (consulting, support) to clients and the general public (blog, conferences, user group talks). Like many other businesses, when we first started we set up our infrastructure quickly and on the cheap, and it’s grown since. That’s how things grow naturally, and is as always a trade-off between keeping your business running and developing while also improving infrastructure (business processes and technical).
Quite a few months ago we also started investing (mostly time) in the technical infrastructure, and slowly moving the various systems across to new servers and splitting things up along the way. Around the same time, the main webserver frequently became unresponsive. I’ll spare [Read more...]
A while ago we published an interview with Detlef Ulherr and Thorsten Früauf about Solaris Cluster / OpenHA Cluster on the MySQL Developer Zone.
We received a number of followup questions from our readers, requesting more technical background information. For example, Mark Callaghan was wondering about the following:
- How is failure detection done?
- How is promotion of a slave to the master done after failure detection?
- How are other slaves failed to the new master?
I asked Detlef to elaborate some more on the [Read more...]
Last week I helped a customer setup a JBoss application against MySQL Cluster. It turns out it is not immediately obvious how you should setup our JDBC connector to do loadbalancing and failover. For instance, setting the connector up for an Master-Slave setup (with MySQL Enterprise) is well documented, but not doing the same with MySQL Cluster.
It's not really properly documented in the manual part, but I found in the changelogs, and confirmed on IRC that to do load-balancing across the SQL nodes in MySQL Cluster, you would use a different JDBC connection string with the "loadbalance" keyword added...
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.