The combination of the information obtained from the “pt-summaries” discussed in the previous posts of this series (Part 1: The Percona Support Way, Part 2: Knowing the Server, Part 3: What MySQL?) helps us come up with the first impression of a MySQL server. However, apart from the quick glance we get at two samples of a selective group of MySQL status variables, they provide what I call a “static” view of the server, akin to looking at a still picture of an engine. We get the chance to spot some major discrepancies in the MySQL configuration in view of the available resources in the …
[Read more]Although the main interface between applications and a Vitess database is through the MySQL protocol, Vitess is a large and complex distributed system, and all the communication between the different services in a Vitess cluster is performed through GRPC. Because of this, all service boundaries and messages between Vitess' systems are specified using Protocol Buffers. The history of Vitess' integration with Protocol Buffers is rather involved: We have been using and keeping up to date with the Go Protocol Buffers package since its earliest releases, up until May last year, when Google released a new Go API for Protocol Buffers, which is not backwards compatible with the previous Go package.
In the previous post of this series, we looked at the hardware specifications and operating system settings of the host server through the lenses of a pt-summary report. Now that we know the foundation on which the database is running, we can turn our focus to MySQL itself. The second of our triad of tools from the Percona Toolkit will help us with that:
pt-mysql-summary conveniently summarizes the status and configuration of a MySQL database server so that you can learn about it at a glance.
The goal for this part is to find what MySQL distribution and version is being used if the server …
[Read more]Percona live is over, and we finally get some feedback about our presentations.
Initially I had 3 presentations to give:
- Comparing High Available Solutions With Percona XtraDB Cluster and Percona Server With Group Replication.
- Comparing Hash Join solution, the good, the bad and the worse. The New version 2021.
- Boosting MySQL NDB cluster & MySQL Innodb Cluster with PrxySQL V2
But when I saw we were having a lot of great submissions, I decided that it would be better for the conference and for Percona to drop 2 of them and leave some free slots for others.
That has always been my line of conduct, I do not think we should have speakers with multiple talks unless exceptions. I know in the past I had been presenting multiple times, but that is why I am stating this now, more and more.
Anyhow, the remaining talk was Comparing High Available Solutions With Percona …
[Read more]After Oracle released MySQL version 8.0.24 on April 20, 2021, our engineering team got started right away with merging our enhancements to prepare the corresponding 8.0.24 version of Percona Server for MySQL.
However, Oracle released MySQL version 8.0.25 shortly afterward on May 11, 2021, to fix a critical bug that we also observed during our initial testing and reported back to them.
Therefore, we have decided to skip releasing Percona Server for MySQL 8.0.24 both as a standalone product and a distribution as well as the …
[Read more]Recently, I wrote several articles about how to deploy popular Open Source applications on Oracle Cloud Infrastructure and MySQL Database Service.
Today we will see how you can deploy your own LAMP stack application using the same technique where L will stand for a compute instance (and why not the Ampere always free trier?), A stays Apache and will run in that compute instance. M stands for MySQL Database Service and P for PHP.
As usual we start by deploying a Stack by just clicking on the deploy button from GitHub:
The we are directly redirected to OCI’s dashboard and we need to accept the Terms of Use:
As soon …
[Read more]Matomo is a Google Analytics alternative for your websites. If you follow my blog, you know how easy it’s to deploy popular Open Source web solutions like WordPress, Joomla!, Drupal, Moodle, Magento on OCI. If this is not yet your case, please check this page: deploy on OCI.
All these solutions are using MySQL Database Service to store their data.
I’ve recently added a new stack to also deploy Matomo. Of course this can be a standalone installation to collect all your analytics from self-hosted websites, but today I will describe you how to use it with an existing stack we already deployed on OCI.
For this example, I deployed WordPress using the following stack: …
[Read more]
In this blog, we will discuss, how to setup MySQL NDB Cluster
replication through backup and restore method. This is bit
tricky but interesting. The scenario here is, say user have a
standalone cluster up and running, later there is a need to have
a replication setup with an another empty cluster without
shutting down the existing running cluster i.e. zero downtime.
Then this backup and restore method will come in handy.
Let’s create two MySQL NDB Cluster with the following
environment, Here, one will be termed as ‘source’ cluster and the
other one will be termed as ‘replica’ cluster.
- MySQL NDB Cluster version (Latest GA version)
- 1 Management Node
- 4 Data Nodes
- 1 MySQLDs
- Configuration slots for up to 4 additional API nodes
Replication schema diagram:
CLUSTER
'A' …
Yesterday, Oracle announced a new range of Arm compute instances based on Ampere’s ARM processors
This is a very nice announcement ![1], [2] and something also very cool is that you are eligible for an Always Free instance up to 4 OCPUs, 24GB of RAM and 4Gbps network bandwidth !!
This is the max you can have and you define it during the shape selection:
I have already updated all the Stacks I propose to …
[Read more]Computers are dumb. And they will do exactly what you ask them to do. The trick often is to think as dumb as the computer. Sadly it is all to easy to assume that the computer is 'thinking' like you are and blunder into a head scratching puzzle. Recently there was a post on MySQL Community Space Groundbreakers Developer Community site that shows that sometimes what is intended is not what you want but you are getting exactly what you asked.
Quiz -- What happens if you run the following query?
SELECT concat('CREATE TABLE if does not exists
sakila1.',
TABLE_NAME,
' like sakila.',
TABLE_NAME, ';')
FROM information_schema.`TABLES`
WHERE TABLE_SCHEMA = 'sakila'
A) You will …
[Read more]