Blixy is documenting how to automate MariaDB administration with proper tools Update: April 2025 Our relationship with the MariaDB Foundation upgraded! We are now proud MariaDB Foundation Silver Sponsors. See the Foundation's announcement: Vettabase Becomes Silver...
Federico Razzoli
Finding an optimal size for Aria Pagecache
I wrote two articles about correctly sizing InnoDB buffer pool: Is InnoDB Buffer Pool big enough? and Can we shrink InnoDB Buffer Pool?. Aria is a MariaDB storage engine that is used for internal temporary tables and, potentially, tables created by the...
How to skip an Ansible task by default
Ansible has a well-known mechanism to only run a certain list of tasks: tags. When we call ansible-playbook with the --tags parameter, we only execute tasks that have one of the specified tasks. There is also a --skip-tags option, which runs all tasks except those...
Can we shrink InnoDB Buffer Pool?
In my previous article, I wrote how to answer the question: Is InnoDB Buffer Pool big enough? But the buffer pool can also be too big. So you may wonder if you can shrink it. Reasons to shrink the Buffer Pool Why would one do such a thing? A common reason is saving...
Is InnoDB Buffer Pool big enough?
InnoDB buffer pool is the most important memory area to allocate. It contains the most frequently read data and index entries from InnoDB tables. Its size is determined by innodb_buffer_pool_size, which is one of the two most important settings for...
Creating dynamic configuration files with Ansible
One of the first problems one finds with automation is building custom configuration files. Don't worry though: it's a simple problem to solve. In this article we discuss how to use Ansible templates to generate proper my.cnf files for each MariaDB host. The template...
Running Ansible on a dedicated host
Many teams run Ansible plays from their laptops. In practice this just works, but this doesn't mean that it's an ideal way of using Ansible. Instead, we suggest to run it inside a dedicated host. In this article you'll find some good reason for that. Security...
MariaDB/MySQL IS NULL conditions and indexes
It is not uncommon for an application to use WHERE conditions like this: WHERE status = 'DELETED' OR status IS NULL If you run EXPLAIN, such conditions typically only cause the type column to be show ref_or_null. Whereas, without the...
How to monitor that AUTO_INCREMENT columns won’t reach their limit
AUTO_INCREMENT primary keys are useful, because they save us the trouble to generate a unique value for every row, delegating this task to the database. But when we reach the limit we need to take some action, or we won’t be able to insert more rows. On 5 May...
5 benefits of Infrastructure As Code
Infrastructure As Code is a paradigm that consists of describing our infrastructure (servers and their configuration) as code that is understood by automation software like Ansible, Puppet, Terraform, and so on. Automation software can then be used to recreate the...