Trick to Simulate Higher Latency IOs on Linux
J-F Gagné's MySQL Blog
by Jean-François Gagné
3M ago
When running tests, it is sometimes useful to slow down IOs to clearly show the impact of reading from the disk.  Modern laptops and servers usually have fast local SSDs, and most cloud vendors provide, in addition to fast local disks, relatively fast network block devices (EBS for AWS and Persistent Disk for GCP).  Even when using magnetic network block devices, IOs are not guaranteed ..read more
Visit website
Trusting mysqldump and Insecure MySQL Client Lead to Remote Code Execution
J-F Gagné's MySQL Blog
by Jean-François Gagné
3M ago
Yes, you read this correctly: because the MySQL client is insecure and allows running arbitrary commands, and because mysqldump blindly trusts the server it is dumping from, a hostile MySQL Server on which mysqldump is executed could trigger arbitrary command execution (also known as a remote code execution).  This post raises awareness on this vulnerability and shows how a secure MySQL ..read more
Visit website
RFC: Database / Schema in the Slow Query Log File
J-F Gagné's MySQL Blog
by Jean-François Gagné
3M ago
A month ago, I announced that I am working on a MySQL Contribution to add database / schema in the slow query log file (bug report, LinkedIn, Twitter, Facebook, and MySQL Community Slack).  My contribution is ready, and before submitting it, I would like feedback, so I am writing this post as a Request for Comments (RFC).  If you are in a hurry, you can go directly to the RFC Fake PR.& ..read more
Visit website
17 Years of Insecure MySQL Client !
J-F Gagné's MySQL Blog
by Jean-François Gagné
6M ago
Yes, this is a catchy title, but it is true, and it got you reading this post :-).  Another title could have been “Please load this mysql-dump: what could go wrong ?”.  As you guessed, loading a dump is not a risk-free operation.  In this post, I explain how the insecure MySQL client makes this operation risky and how to protect against it. And if you think this post is not ..read more
Visit website
Dbdeployer Tutorial on Mac
J-F Gagné's MySQL Blog
by Jean-François Gagné
6M ago
Not very long ago (well, maybe a little longer, this post is in draft for more than a year), in the spawn of less than 5 days, I suggested many colleagues to reproduce a problem they had with MySQL in a "more simple environment".  Such more simple environment can be created with dbdeployer.  dbdeployer is a tool to create "MySQL Sandboxes" on a Mac (laptop or desktop) or on Linux (vm ..read more
Visit website
Rows Examined Blindspot when Looking for non-Existing Data
J-F Gagné's MySQL Blog
by Jean-François Gagné
1y ago
When trying to understand queries in the slow log, an interesting metric to look at is rows examined.  Also, when trying to understand CPU spikes on a MySQL instance, the InnoDB Metric dml_reads and the global status Innodb_rows_read are interesting to check.  In a similar way, when trying to gather information about which queries are loading the system, SUM_ROWS_EXAMINED from the Performance ..read more
Visit website
Avoiding a STOP SLAVE Crash with MTR in Percona Server older than 5.7.37-40
J-F Gagné's MySQL Blog
by Jean-François Gagné
1y ago
I am finalizing my Percona Live talk MySQL and Vitess (and Kubernetes) at HubSpot.  In this talk, I mentioned that I like that Percona is providing better MySQL with Percona Server.  This comes with a little inconvenience though: with improvements, sometimes comes regression.  This post is about such regression and a workaround I implemented some time ago (I should have shared it earlier).  This ..read more
Visit website
Running and Mountain Climbing at Percona Live Denver
J-F Gagné's MySQL Blog
by Jean-François Gagné
1y ago
I just booked my travel arrangements for Percona Live 2023.  In case you missed it, one of the most important MySQL Conference of the year is happening in Denver from Monday May 22 to Wednesday 24.  I will be there and I am giving a talk about how HubSpot operates Percona Server / MySQL with Vitess in Kubernetes.  My colleague, Mali Akmanalp, is also speaking about the tools we provide developers ..read more
Visit website
Planet for the MySQL Community Graduating from Beta
J-F Gagné's MySQL Blog
by Jean-François Gagné
1y ago
In May 2020, I published a Planet for the MySQL Community Pluto Beta.  I was satisfied with the result and was considering it done, but I did not invest the time to promote it to release (a non-beta site was running for a few months without being advertised).  I finally came to it, and today I am happy to deprecate the beta and announce the release of Planet for the MySQL Community.  In this post ..read more
Visit website
Free Page Consumption by InnoDB Table Compression (Percona backoff Algo. part #2)
J-F Gagné's MySQL Blog
by Jean-François Gagné
1y ago
In my previous post about InnoDB Stalls on Empty Free List, I used a test environment that might look a little artificial : a table larger than the InnoDB Buffer Pool but fitting in the Linux Page Cache.  This configuration allows serving very quickly what MySQL thinks are IOs because these are hit in the filesystem cache.  In this post, I explain why this environment is not totally artificial ..read more
Visit website

Follow J-F Gagné's MySQL Blog on FeedSpot

Continue with Google
Continue with Apple
OR