In this blog post, we will briefly explore the OS tool strace . It is not widely used due to its performance impacts, and we don’t recommend using it in production. Still, it is amazing at helping you understand some things that happen in MySQL, where the OS is involved, and as a last case resource for troubleshooting. The strace tool intercepts and records any system calls (a.k.a. syscalls ) performed and any signals received by a traced process. It is excellent for complex troubleshooting, but beware, as it has a high-performance impact for the traced process. We start our exploration with a simple question: what are the files opened in the OS when you issue FLUSH LOGS in MySQL? We could look at the documentation, but we decided to find out using strace . For that, we started a MySQL lab instance and attached strace to it using the command below: strace -s2048 -f -o /tmp/strace.out -p $(pgrep -x mysqld) The -s option is the size of the output print string. The default is 3