Introduction The process of executing a switchover operation is important for an InnoDB cluster. It encompasses not merely routine maintenance but extends to recovery from system failures. The core of this operation involves promoting a replica node to the PRIMARY role methodically and securely. Objective This blog post is a comprehensive guide for database engineers…
Author: Vinicius Grippa
MySQL Brazil Meetup 2023 – Informações do Evento e Agenda
Salve a todos os nerds! Temos definido nosso dia de banco de dados MySQL! Data: 02 de Dezembro, Sábado, 2023 Horário: 9:00 AM – 5:30 PM (Horário de Brasilia) Local: Oracle do Brasil Sistemas, Rua Dr. José Áureo Bustamante 455, bl. 110, São Paulo, SP, BR, 04710-090 Teremos um dia todo com palestras sobre…
[PT-BR] Rotacionando os logs de erro e consultas lentas do MySQL com logrotate
Banco de dados geram toneladas de logs, e é essencial gerenciá-los corretamente. Os logs ajudam os DBAs a entender o que está acontecendo nos bastidores, rastrear erros e otimizar o desempenho de consultas lentas. No entanto, esses logs podem se tornar um problema ao longo do tempo, especialmente se consumirem muito espaço em disco e…
How to Rotate MySQL Slow and Error Logs Using Logrotate
Databases generate tons of logs, and it’s essential to manage them correctly. Logs help DBAs understand what’s happening behind the scenes, trace errors, and optimize the performance of slow queries. However, these logs can become a hassle over time, especially if they consume too much disk space and are not appropriately managed. Why Rotate Logs?…
Understanding and Creating a Deadlock in MySQL for Beginners
Are you new to MySQL and hearing the term “deadlock” for the first time? Don’t worry! This article will explain a deadlock and provide a simple guide on simulating one. What is a Deadlock? A deadlock happens when two transactions block each other, waiting for the other to finish, but neither can proceed. Think of…
Profiling MySQL using perf and Flame Graphs
A common task in performance analysis is identifying which code sections consume the most CPU time. This often requires profiling stack traces. Enter Flame graphs – a game-changer in how we visualize these profiles. They provide an intuitive visual representation of the application’s most CPU-intensive parts. In this article, we’ll take a look at how…
The Ins and Outs of innodb_flush_log_at_trx_commit
Today, we’re going to take a journey through one of MySQL’s performance guardians – the innodb_flush_log_at_trx_commit. The innodb_flush_log_at_trx_commit has 3 valid values: 0, 1, and 2. Let’s see each of them. Option 1: The Safe Harbor (innodb_flush_log_at_trx_commit = 1) By default, MySQL is set up with a focus on safety. Imagine this as saving your…
How To Estimate Redo Log Capacity
With MySQL 8.0.30 comes a feature that is a game changer in ensuring optimal MySQL performance – the dynamic redo log sizing. Overcoming Previous Limitations Before version 8.0.30 came into play, redo log configuration was static, set once during database setup and rarely touched thereafter due to the MySQL restart required to effect any changes…
Rethinking the 80% InnoDB Buffer Pool Rule: Digging into Server RAM Allocation
In server optimization, various rules of thumb have guided professionals in making informed decisions about resource allocation. One such directive is the 80% rule, which suggests allocating 80% of a server’s RAM to InnoDB’s buffer pool, leaving the remaining 20% for other operations. Initially conceived as a general guideline to get servers up and running…
About Me
Hello there! I’m Vinicius Grippa, and I’ve been playing around with databases for almost 20 years. Currently, I’m the Lead Database Engineer at Percona. If you’ve come across the book “Learning MySQL”, yep, I helped write that! With a Bachelor’s degree in Computer Science, my journey has led me to specialize in MySQL and MongoDB….