
MySQL
MySQL is the database that needs no introduction.
It is the engine that powered the growth of the web for over twenty years.
Born in 1995 in Sweden, in 2008 it was acquired by Sun Microsystems — and when Oracle completed its acquisition of Sun in 2010, MySQL ended up in the portfolio of the world’s largest commercial database vendor. I was an Oracle employee at the time, and I remember the atmosphere well: on one hand the curiosity of seeing how Oracle would manage such a popular open source product, on the other the concern that MySQL would be sidelined in favour of the proprietary database.
That concern drove Michael “Monty” Widenius — MySQL’s original creator — to fork the project in 2009, giving birth to MariaDB. A project that shares its roots with MySQL but has taken its own path on storage engines, optimizer and advanced features.
History has shown that both projects survived and evolved, but their architectural choices diverge more and more. Knowing the differences is not academic — it is an operational necessity.
In this section I explore MySQL and MariaDB from an operational perspective: security, user management, performance and design decisions that make a difference in production environments.
Because using MySQL is not just about running queries.
It is about understanding how the engine manages connections, privileges and resources under real load.
Binary logs in MySQL: what they are, how to manage them, and when you can delete them
A MySQL server with disk at 95%, 180 GB of binary logs accumulated over six months. From there, a deep dive into binlogs: what they contain, why they exist, how they work with replication and point-in-time recovery, and above all how to manage them without breaking things.
Galera Cluster with 3 nodes: how I solved a MySQL availability problem
A client with a standalone MySQL that crashed every month, taking down the entire application. My solution: a 3-node Galera Cluster with synchronous replication. From diagnosis to production, with all configuration files and critical parameters.
MySQL Users: Why 'mario' and 'mario'@'localhost' Are Not the Same Person
In MySQL and MariaDB a user's identity depends on the host they connect from. A real case, the authentication model explained in depth and the most common mistakes in access management.
MySQL Multi-Instance: A Ticket, a CSV and the secure-file-priv Wall
An operation that should have taken five minutes — exporting a CSV from MySQL — turns into an investigation across multiple instances on the same server, Unix sockets, different ports and the secure-file-priv directive that blocks everything. From finding the right instance to exporting from the shell.
Full disk on a MySQL cluster: binary logs, Group Replication, and a migration that leaves no room for mistakes
Filesystem at 92% on a 3-node MySQL Group Replication cluster. The culprit? Binary logs piling up on the main volume. From the initial alert to a dedicated volume migration, one node at a time, without losing quorum.




