Showing entries 1 to 10 of 428
10 Older Entries »
Displaying posts with tag: MySQL 8.0 (reset)
Where to find official MySQL container images ?

If you are deploying MySQL on containers, one of the first tasks is to find the right image.

There’s a certain amount of confusion, especially when we’re trying to help someone who’s having problems with their deployment.

For example, when people say I’m using the official docker image… what does that really mean?

Docker Hub, provides their official image (, but this is not the official MySQL image that we, the MySQL Team at Oracle, support.

Before the mess with Docker Hub ([1], [2], [3]), the real official images for MySQL …

[Read more]
Recovering nodes in a Galera Cluster

In our lab environment, we received some emails from our provider, DigitalOcean saying a few nodes would be going down, because of issues with the physical nodes. Since we run a 9-node Galera Cluster in the lab, across 3 regions (San Francisco, London and Singapore), this posed an interesting problem!

Upon connecting to one of the nodes, we see:

mysql> show status like 'wsrep_cluster_size';
| Variable_name      | Value |
| wsrep_cluster_size | 7     |
1 row in set (0.02 sec)

So we know that 2 of the nodes are down. Presuming you do not have any monitoring setup (might we recommend …

[Read more]
As a DBA, develop a critical mind when receiving advice

On the Internet, you can get a lot of advice from almost anywhere when you’re looking for information on how to do your DBA job.

My blog is one of these sources of advice, and depending on the source, we generally trust the advice more or less.

But sometimes advice doesn’t take the whole picture into account, and even if it comes from a recognized authority, it can lead to more or less serious problems.

Let’s consider the following situation:

We have an InnoDB ReplicaSet with 1 replication source (primary) and 2 replicas:

 JS > rs.status()
    "replicaSet": {
        "name": "myReplicaSet", 
        "primary": "", 
        "status": "AVAILABLE", 
        "statusText": "All instances available.", 
        "topology": {
            "": {
                "address": "", 
                "instanceRole": "PRIMARY", 
                "mode": "R/W", …
[Read more]
Moodle on OCI with MySQL HeatWave: Extended Architectures – part 2

To continue our journey to Moodle on Oracle Cloud Infrastructure using Ampere compute instances and MySQL HeatWave Database Service [1] [2], in this article we will see how to scale our architecture using multiple Moodle instances, High Availability for the Database and Read Scale-Out.

This is the architecture we will deploy:

The same principles can be applied to other projects, not just Moodle.

Multiple Compute Instances & MySQL HeatWave High Availability

The first step is to use again the Stack to deploy the initial resources. We must insure that we use a MySQL Shape that has at least 4 OCPUs

[Read more]
Upgrade MySQL to 8.0? Yes, but Avoid Disaster!

Upgrading to MySQL version 8.0 is a hot topic since version 5.7 is approaching the official end of life very soon. MySQL 5.7 EOL is set for the end of October 2023.

If you feel unprepared for the upgrade, consider post-EOL support from Percona. But it would be the worst if you proceeded with the upgrade in haste.

  • Long database service downtime
  • Some queries become slow
  • Applications stop working due to incompatibilities
  • Data loss

This is what can happen if MySQL’s major upgrade to 8.0 turns out not as you hoped for. Yes, it can be that serious, so do consider the major upgrade as an important project, not just a routine maintenance task! From my experience as a Support Engineer, I think the most frequent problem is query …

[Read more]
Moodle on OCI with MySQL HeatWave: Extended Architectures – part 1

In the previous post, we saw how to quickly deploy Moodle to Oracle Cloud Infrastructure on Ampere compute instances and using MySQL HeatWave.

In this post, we will explore some other features and the benefits of running on OCI and MySQL HeatWave to extend our architecture dedicated to Moodle in the Cloud.

Read Replicas

Moodle natively offers the possibility of distributing the load between reads and writes. When using MySQL HeatWave Database Service, adding read replicas is also a very easy task. Let’s see how we can benefit from it.

To be able to use MySQL HeatWave Read Replicas, the MySQL shape must have at least 4 OCPUs.

Let’s modify the moodle stack and deploy it again but this time we choose a bigger shape for MySQL:

When everything is ready, …

[Read more]
Deploy Moodle on OCI with Ampere and MySQL HeatWave

If you want to deploy Moodle on OCI, you can use Ampere compute instances as application server and MySQL HeatWave Database Service to store the data.

Depending on your requirements, MySQL HeatWave can provide High Availability and Query Acceleration.

In this post, we will see the easiest and fasted way to deploy the following basic architecture:

In OCI to quickly deploy an architecture and all the required resources, it’s recommended to use a Stack (Terraform recipes and modules).

So deploy all the resources we need (VCN, Subnets, Security Lists, Internet Gateways, Compute Instances…) we just need to click on the following button:

[Read more]
About Apache Superset with MySQL 8.0

Yesterday, I published an article explaining how to easily deploy Apache Superset on OCI using MySQL HeatWave Database Service.

There are some people not using the automation or not using MySQL HeatWave Database Service on OCI but want to still use Superset with MySQL 8.0.

In this blog, we will see how to fix eventual errors when performing the installation manually.

SQL Alchemy Dialect Configuration

When using MySQL 8.0, in Superset’s config file, you need to specify the SQLAlchemy URI like this:

SQLALCHEMY_DATABASE_URI = 'mysql+mysqlconnector://<user>:<password>@<host>:<port>/<superset_schema>'

It is important to specify the database backend and dialect: mysql+mysqlconnector.

Of course you need to install the MySQL …

[Read more]
Apache Superset with MySQL HeatWave

We already saw how to deploy Apache Superset with MySQL HeatWave.

I just released a new version of the Terraform modules including some configuration parameters for a future development related to High Availability.

So let’s see the easiest way to deploy Superset on OCI using MySQL HeatWave.

Quick Deployment

The default deployment is the following:

The fastest and easiest way to deploy such architecture is to click on the button below:

When you click on the button, you will reach the following screen if you are …

[Read more]
Improving Query Performance with Multi-Valued Indexing in MySQL 8.0

Learn how Multi-Valued Indexing in MySQL 8.0 can enhance query performance by efficiently indexing and querying JSON arrays. Discover the benefits, implementation steps, and considerations for optimizing your MySQL database.

  1. Multi-Valued Indexing in MySQL 8.0
  2. Understanding Multi-Valued Indexes and their benefits
  3. Creating Multi-Valued Indexes in MySQL …
[Read more]
Showing entries 1 to 10 of 428
10 Older Entries »