Showing entries 1 to 10 of 317
10 Older Entries »
Displaying posts with tag: MySQL 8.0 (reset)
Deploy Magento on MDS & HeatWave

Magento is an Open-Source e-commerce platform written in PHP using multiple other PHP frameworks such as Laminas and Symphony. Magento source code is distributed under Open Software License v3.0.

Deploying Magento is not always easy as it often requires registration. However the source code is also availble on GitHub.

Magento supports MySQL 8.0 since version 2.4.0 (July 28th 2020).

In Magento’s documentation, there is a warning about GTID support:

This is not anymore a …

[Read more]
Deploying Joomla! on OCI and MDS

The easiest way to deploy Joomla! on Oracle Cloud Infrastructure and MySQL Database Service, is to use OCI Resource Manager’s stack.

Let’s see how easy it’s to deploy such solution.

If you don’t have already an OCI account, you can get Free Tier at

The easiest way to deploy all the required resources (vcn, subnets, gateways, compute and MySQL instances, security lists, …) is to use a stack for Resource Manager. It consists in Terraform modules and information to easily deploy the architecture on OCI.

To deploy Joomla! and a MDS instance, we go then on this GitHub repo and click on button to deploy on OCI:

The Oracle Cloud Dashboard will be open and the stack creation form will be loaded like …

[Read more]
MySQL Shell : send SQL statements to syslog

From MySQL Shell 8.0.24, it’s possible to log all the SQL statements issued in MySQL Shell.

Everything is well documented in the dedicated manual section: System Logging for SQL Statements.

Let’s see it in action. We will first start MySQL Shell with --syslog option:

$ mysqlsh --syslog --sql root@localhost

We enter a statement:

MySQL  localhost:33060+   2021-04-30 09:18:39 
SQL  show databases;
| Database                      |
| bookstore                     |
| clusterdemo                   |

And we can verify in syslog if something has been logged. I use Systemd and Journald therefor I …

[Read more]
MySQL Shell 8.0.24 Dump now supports array arguments in non-interactive mode

Recently I posted an article on how to deal with arrays when trying to use MySQL Shell Dump Utility in command line.

Of course, this proposed solution was a workaround for MySQL Shell <= 8.0.23. The new version of MySQL Shell 8.0.24 supports now arrays \o/ !

So if we take the same example of the previous post, we can now use the following syntax:

$ mysqlsh root@localhost -- util dump-instance /tmp/dump \
    --excludeSchemas=["mysql_innodb_cluster_metadata","fred_test"] \
    --threads=8 --showProgress

Please mind that lack of <space> between the elements of the array. If you …

[Read more]
MySQL 8.0.24: thank you for the contributions

MySQL 8.0.24 has been released today \o/

As usual, it’s highly advised to read the release notes to get informed about the changes and bug fixed.

MySQL is Open Source and each release contains contributions from our great Community. Let me thanks all the contributors on behalf of the entire MySQL Team: Thank you !

MySQL 8.024 includes contributions from Daniël van Eeden, Kaiwang Chen, Zhai Weixiang, Venkatesh Prasad Venugopal, Jingbo Zhao, Yuxiang Jiang, Brian Yue, Hope Lee, Stanislav Revin, Mattias Jonsson, Facebook and a suggestion from Dmitriy Philimonov.

Once again, thank you all for your great contributions.

Here is the list of the above contributions and related bugs:

[Read more]
How to copy a Schema using MySQL Shell Dump & Load Utility ?

Another common question I receive about MySQL Shell Dump & Load Utility is how to dump a schema and load it with another name. Make a copy in fact.

Dumping the Schema

To do so, we need to use the dumpTables() method:

JS  util.dumpTables("test", [], "/tmp/dump", {all: true})

It is important to notice that the second parameter is an empty array and the option “all” is enabled.

This will dump all tables of the test schena into /tmp/dump.

Loading the data into another Schema

Now, we will load the data we previously dump into another schema.

The first thing to do is to create the destination schema:

JS  \sql create database test2

And finally, we load the data:

JS …
[Read more]
MySQL Shell Dump how to deal with array arguments in non-interactive mode

As you know, the best way to perform logical dump for MySQL is to use MySQL Shell Dump & Load utilities. This is the most powerful option as it can dump and load in parallel (it also include many options to migrate to MDS very easily and supports OCI Object Store too).

One of the main question I receive related to MySQL Shell utility is related to the use of MySQL Shell in non-interactive mode with parameters requiring arrays.

What does that mean ?

For example if you want to dump a MySQL instance but you want to exclude some tables, you have an option called excludeSchemas and it expect an array of strings with the list of schemas you want to exclude in the dumb.

In interactive mode, this is how we use it:

JS> util.dumpInstance("/tmp/dump", {excludeSchemas: 
    ["mysql_innodb_cluster_metadata", "fred_test"], 
    threads: 8, showProgress: true})

However this notation is not …

[Read more]
Setup DR for your MySQL InnoDB Cluster

MySQL InnoDB Cluster is the High Availability solution for MySQL. It delivers automatic fail-over and guarantees zero data loss (RPO=0).

RPO: Recovery Point Objective describes the interval of time that might pass during a disruption before the quantity of data lost during that period exceeds the Business Continuity Plan’s maximum allowable tolerance.

Example: our business architecture needs to have RPO=2 minutes. This means that in case of failure, 2 minutes of data can be lost.

However, and we saw this recently in Europe, an entire data center can “disappear” instantaneously… So it’s also important to have a Disaster Recovery plan.

One solution, is to have an InnoDB Cluster (Group Replication) that spans across multiple regions. However, this is often not feasible because of high latency across regions.

Another solution is InnoDB Cluster in one region with Asynchronous …

[Read more]
MySQL ERROR Log Table Explained

Over the decades we have been reading the MySQL error log from the server system file, if there are any issues in MySQL or any unknown restart happened , generally we look at the mysql error log.

By default MySQL error log can be found in the default path /var/log/mysqld.log , or it can be explicitly configured using the variable log_error.

Few drawbacks using MySQL error log as FILE

  • Possibility of missing genuine errors while reading lengthy information.
  • Filtering of errors for the particular date and timeframes.
  • Cannot provide the DB server access to developers because of fear of mishandling DB servers.

To overcome the above issues , from MySQL …

[Read more]
How to copy a MySQL user to OCI MDS ?

When you migrate to MySQL Database Service on Oracle Cloud Infrastructure (MDS on OCI), the easiest, fastest and recommended way it to use MySQL Dump & Load Utility.

For more information check these different links:

[Read more]
Showing entries 1 to 10 of 317
10 Older Entries »