MySQL has had spatial indexes for many years, but they have all been Cartesian (X and Y coordinates) indexes. MySQL 8.0 adds support for geographic (latitude-longitude) indexes. In an earlier blog post, I described how the feature works. In this post, we’ll go into the details of how to upgrade from 5.7 to 8.0 if you have spatial indexes.…
In a recent post, my colleague and teammate Peter
Sylvester explained how we could customize MySQL’s
configuration when running it as a Docker container.
Today I want to show you how to debug a Dockerized MySQL process. Let me start by showing you how I am starting my test container:
[fipar@coltrane ~]$ sudo docker run --memory-swappiness=1 -p 3308:3306 --name=mysql1 -e MYSQL_ROOT_PASSWORD=password -d mysql/mysql-server:5.7 Unable to find image 'mysql/mysql-server:5.7' locally Trying to pull repository docker.io/mysql/mysql-server ... 5.7: Pulling from docker.io/mysql/mysql-server Digest: sha256:eb3aa08c047efcb3e6bfcc3a28b80a2ec8c67b4315712b26679b0b22320f0b4a Status: Downloaded newer image for docker.io/mysql/mysql-server:5.7 …[Read more]
Watch the replay of this webinar with Severalnines Support Engineer Bart Oles, as he walks us through what you need to know in order to migrate from standalone or a master-slave MySQL/MariaDB setup to Galera Cluster.
When considering such a migration, plenty of questions typically come up, such as: how do we migrate? Does the schema or application change? What are the limitations? Can a migration be done online, without service interruption? What are the potential risks?
Galera Cluster has become a mainstream option for high availability MySQL and MariaDB. And though it is now known as a credible replacement for traditional MySQL master-slave architectures, it is not a drop-in replacement.
It has some characteristics that make it unsuitable for certain use cases, however, most applications can still be …
[Read more]At my latest webinar “MySQL Test Framework (MTR) for Troubleshooting”, I received an interesting question about MTR test cases for Percona XtraDB Cluster (PXC). Particularly about testing SST and IST.
This post is intended to answer this question. It assumes you are familiar with MTR and can write tests for MySQL servers. If you are not, please watch the webinar recording first.
You can find example tests in any PXC tarball package. They are located in directories
mysql-test/suite/galera
,
mysql-test/suite/galera_3nodes
and
mysql-test/suite/wsrep
, though that last directory only contains a configuration file.
If you …
[Read more]
My book MySQL and JSON - A Practical
Programming Guide is now available! My promotional copies
have arrived and I will be bringing them to PHP Tek, SyntaxCon,
and Southeast Linuxfest in the next two weeks.
This is a book on discovering how to use JSON with MySQL with
lots of examples, samples programs, and more. Please order
your copy today. Order From Amazon
Oracle Cloud Infrastructure (OCI) is Oracle’s second-generation cloud infrastructure. These new datacenters were built with the latest high-performance servers (Oracle’s X7 Servers) and were designed to eliminate network and CPU oversubscription. Due to high-performance systems and the multiple availability domains (ADs) in each region, these are the preferred environments for deploying MySQL. Since MySQL deploys on Compute services (IaaS), look for “Oracle Cloud Infrastructure Compute” (not Classic) on this region map.
Beyond the benefits of the second-generation datacenters, why deploy MySQL on Oracle’s cloud? Here’s a few of reasons people are choosing MySQL on OCI:
- No vendor lock-in: pay minimal or no egress charges and directly access your binary data files. Getting your data out of other clouds can be tedious and expensive. …
We manage several hundreds of MySQL servers, We carefully benchmark and build custom database infrastructure operations for performance, scalability, availability and reliability … But What if we have provision for auto sizing of MySQL system variables innodb_buffer_pool_size, innodb_log_file_sizeand innodb_flush_method ? Actually, These are top 3 system variables we consider tuning for MySQL performance and when we first read about this feature, we got super excited so did some research and decided to write this post:
What was our first reaction, when we first read about innodb_dedicated_server ?
Wow, That will be awesome … Indeed, When we manage several hundreds of MySQL instances, This feature will really improve efficiency and DBA Ops. governance.
Now, Let us explain what we have found:
How does innodb_dedicated_server system variable in MySQL 8.0 size the following …
[Read more]It’s very easy to install Percona Monitoring and Management (PMM) on DigitalOcean. If you’ve never used DigitalOcean before, you will find that it is user-friendly and not very expensive. For $5/month you can easily host your PMM on it, letting you monitor your simple infrastructure or try out PMM before implementing it to monitor your production environments.
Let’s prepare the DigitalOcean instance
Log in to DigitalOcean (DO) control panel and click “Create Droplet.”
Thanks to DO you can skip the boring OS setup and save time by using the Docker “One click app” in DO and the Docker image from PMM.
Note: After clicking on “Docker…” choose an instance size that accommodates your budget – PMM can run on as little as the 1GB 1vCPU instance!
Note: Scroll again!
Next step – select a nearby region …
[Read more]This is our fourth blog in the ProxySQL Series
- MySQL Replication Read-write Split up
- Seamless Replication Switchover Using MHA
- Mirroring MySQL Queries
This blog focuses on how to quickly find and address badly written queries using ProxySQL without any downtime and change in application code.
When we get an incident about the high usage on a production master, then mostly it is because of unexpected spike in Traffic (QPS) or slow queries.
Below was the status when we were doing the …
[Read more]In a previous post I had mentioned that I was doing a bit of digging into Docker in order to get a better grasp of the technology. Part of that was exploring common administrative tasks. I would venture to say that backups are probably among the most important tasks we take on with database administration, so it’s important to know how to do this for Docker MySQL instances.
There is a fair bit of documentation on how to handle this logically (mysqldump / mydumper) as this is a simple task to perform as long as you can connect to the database instance, so I wanted to approach physical backups using the very common xtrabackup tool. Additionally, we’re trying to think with containers here, so I wanted to make sure that not only would I be taking a backup of the Docker container MySQL instance, but I would do it with another Docker container running …
[Read more]