Skip to content

MySQL

MySQL as we run it for customers: installation, replication, InnoDB Cluster, backups, performance tuning, upgrades and security.

Changes that I like in the new MySQL 8.0.21

A new release of MySQL was out on July 13 (8.0.21). Among all the changes, there are some that I have already tested and that I really appreciate. Who stopped the MySQL server? In previous releases, I can already see in the error log file who stopped the MySQL server if this was done through the shutdown statement. In MySQL… 

The evolution of MySQL authentication mechanism

The authentication, the first level of security for each IT system, is the stage to verify the user identity through the basic username and password scheme. It is crucial to have a mechanism to protect and secure password storing and transmitting over network. In MySQL, there is plenty of different authentication methods available, and last versions improved the security of… 

MySQL 8 and Security – Encryption of binary logs

As I discussed in some of my recent talks at conferences (at the DOAG for example), MySQL 8 came out with new features which bring lots of improvements in terms of security. “At-Rest” encryption has been existing from some releases by now: – InnoDB Tablespace Encryption: by 5.7.11 – Redo and Undo Log Data Encryption: by 8.0.1 Now starting from… 

Password Verification Policy in MySQL 8.0.13

The new release 8.0.13 for MySQL is available since last week. Concerning security, this comes with a new feature already announced: the Password Verification Policy. Let’s have a look… This aim of this feature is to secure the attempts to change a password by specifying the old one to be replaced. It is turned off by default: mysql> show variables… 

Deploy a MySQL Server in Docker containers

We hear about Docker every day. By working on MySQL Server, I am curious to test this platform which makes it possible to create containers independent of the OS to deploy virtualized applications. So let’s try to deploy a MySQL Server with Docker! Here is the architecture we will put in place: So we will run a Docker container for… 

MySQL 8.0 – Roles are finally there

Roles have been existing on many RDBMS for a long time by now. Starting from version 8.0, this functionality is finally there for MySQL. The most important advantage is to define only once a role that includes a “set of permissions”, then assign it to each user, avoiding wasting time declaring them individually. In MySQL, a role can be created… 

MySQL – Time mismatch between system and log files

I was working on MySQL upgrades to version 5.7 at a customer, when I found out that for my instance, time in the error log file didn’t correspond to local system time: mysql@test1:/u01/app/mysql/admin/mysqld1/log/ [mysqld1] mysql -uroot -p Enter password: ERROR 1045 (28000): Access denied for user ‘root’@’localhost’ (using password: YES) mysql@test1:/u01/app/mysql/admin/mysqld1/log/ [mysqld1] ls -ltr mysqld1.err -rw-r—–. 1 mysql mysql 13323… 

MySQL – Foreign keys and “Cannot delete or update a parent row: a foreign key constraint fails” error

As you know, foreign keys establish a sort of relationship between 2 tables. MySQL requires InnoDB storage engine to support foreign keys. In our example, we have the following parent table in a MySQL 5.7.21 server: mysqld3-(root@localhost) [sakila]> show create table actorG *************************** 1. row *************************** Table: actor Create Table: CREATE TABLE `actor` ( `actor_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT,…