InnoDB Cluster is major revolution for MySQL Replication but it
is often hard to test out new technologies without a major
investment in time, hardware, and frustration. But what if
there was a quick and easy way to set up a test InnoDB
Cluster?
SandboxThe details on how to set up a Sandbox InnoDB
Cluster is detailed at https://dev.mysql.com/doc/refman/8.0/en/mysql-innodb-cluster-sandbox-deployment.html but
for those seeking a quick and dirty example please keep
reading.
Step 1 - Fire up the MySQL Shell and Crate Sandbox Instances
Start the MySQL shell and create a Sandbox instance. In this
example we set up a sandbox instance at port 3310.
…
MySQL 8.0.11 seems to be around the corner and the new MySQL Shell will take advantage of all the new improvements made in MySQL 8.0 like SET PERSIST, RESTART, … see this previous post.
In the video below, I show you how easy it’s to deploy a MySQL InnoDB Cluster using the Shell that connects remotely to all the instances:
…
[Read more]Recently on MySQL Forums, somebody was looking for documentation or procedure to upgrade a MySQL InnoDB Cluster (or Group Replication cluster) to a newer version.
In this post I am illustrating the best practices to achieve this task safely.
To illustrate the procedure, I will use an InnoDB Cluster of 3
members: mysql1
, mysql2
and
mysql3
. The cluster is setup in Single-Primary mode
(mysql1) and runs MySQL 5.7.21.
Let’s have a look at the cluster status:
MySQL / mysql1:3306 / JS / cluster.status() { "clusterName": "MyCluster", "defaultReplicaSet": { "name": "default", "primary": "mysql1:3306", "ssl": "DISABLED", "status": "OK", "statusText": "Cluster is ONLINE and can tolerate up to …[Read more]
Where the hell is it?
The MySQL shell is a potentially useful tool that has been intentionally made difficult to use properly.
It was introduced, with much fanfare, with the MySQL Document Store, as THE tool to bridge the SQL and no-SQL worlds. The release was less than satisfactory, though: MySQL 5.7.12 introduced a new feature (the X-protocol plugin) bundled with the server. The maturity of the plugin was unclear, as it popped out of the unknown into a GA release, without any public testing. It was allegedly GA quality, although the quantity of bug reports that were filed soon after the release proved otherwise. The maturity of the shell was known as "development preview", and so we had a supposedly GA feature that could only be used with an alpha …
[Read more]Today the call for participation for Oracle Open World 2018 has started.
The 2018’s edition will take place in San Francisco as usual, from October 22nd to 25th.
As every year, MySQL will be present and if you want to participate, we encourage you to submit a session. We encourage the submission on the following topics:
- case studies / user stories of your use of MySQL
- lessons learned in running web scale MySQL
- Production DBA/DevOps perspectives into Architecture, Performance, Replication, InnoDB, Security, etc
The call for paper is open until March 22nd, don’t miss the chance to be part …
[Read more]
I received many request about MySQL High Availability Architecture. There are a lot of tools, but how can we use them to achieve MySQL HA without over engineering everything.
To answer such demand, there is no generic architecture, of course there are leaders in solutions, but put them together can result in many different designs, I will start a series of article on that topic. Feel free, as usual to comment, but also recommend other tools that could be used in a future post.
So today’s post is related to MySQL InnoDB Cluster with Hashicorp’s Consul.
Architecture
This is the overview of the deployed architecture:
As you can see, we have 3 data centers, but in fact we have only two DCs on premises and one in the cloud. A large amount of request are always …
[Read more]Codership is pleased to announce the release of Galera Replication library 3.23, implementing wsrep API version 25.
This release incorporates all changes up to MySQL 5.7.21, MySQL 5.6.39 and MySQL 5.5.59, including several fixes to vulnerabilities reported by Oracle in here.
New features and notable fixes in Galera replication since last
binary release
by Codership (3.22):
- Write set serialization has been changed to use proper memory alignment in order to avoid crashes on platforms which do not allow unaligned memory access (http://www2.galeracluster.com/e/38852/codership-galera-issues-445/88b8yp/875788176)
Notable bug fixes in MySQL 5.7.21: …
[Read more]Ok, so now we’re got our InnoDB Cluster a-clustering, MySQL Router a-routing, now we need some disaster to be a-disaster-recovering…
A foreword first.
If you’re looking to use Enterprise Backup to recover a single node and restore that node back into an existing InnoDB Cluster, LeFred takes you through that one nicely here.
Preparing for backup
On our single primary server, the one that allows write, which was ic2/10.0.0.12 in my case:
mysql -uroot -poracle << EOF SET sql_log_bin = OFF; create user 'backup'@'%' identified by 'oracle'; grant all on *.* to 'backup'@'%'; SET sql_log_bin = ON; EOF
Let’s create something to backup (if you haven’t already done so of course):
mysqlsh --uri …[Read more]
Want to setup InnoDB Cluster and be prepared for a Disaster Recovery scenario? Get ready:
Here’s a way to set up InnoDB Cluster using the 3 environments, on Oracle Linux 7.2, 5.7.19 MySQL Commercial Server, MySQL Shell 8.0.3 DMR, MySQL Router. As this is the first blog post for a complete disaster recovery scenario of InnoDB Cluster, we’ll also be installing MySQL Enterprise Backup.
If you’re new to InnoDB Cluster then I’d highly recommend looking at the following to understand how it works and what Group Replication, Shell & Router are.:
[Read more]
Sometimes when you are using a MySQL InnoDB Cluster, you might encounter some performance issue because one node becomes dramatically slow.
Why ?
First of all, why ? A node can apply the transactions slower than the other nodes for many different reasons. The most frequents are for example, slower disks (remember, it’s advised to have nodes with the same specifications), but if you are using a RAID controller with a BBU, during the learning cycle, the write performance can decrease by 10 or even more. Another example could be an increase of IO operations that will flood the full IO capacity of the system. Making a local backup or sharing the server resources with some other components could lead in such behavior.
Flow Control
To avoid to have a node lagging to much behind and try to sustain the same throughput all over the cluster, Group Replication uses a flow control mechanism ( …
[Read more]