Warning! Recently, Jean-François Gagné opened a bug on bug.mysql.com #115517; unfortunately, the bug is now private. However, the bug looks quite serious. We at Percona have performed several tests and opened the issue PS-9306 to investigate the problem. In short, what happens is that if you create a large number of tables, like 10000, the […]
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
Which is faster: LIMIT 1
or LIMIT 20
?
Presumably, fetching less rows is faster than fetching more rows.
But for 16 years (since 2007) the MySQL query optimizer has had
a “bug”† that not only makes LIMIT 1
slower
than LIMIT 20
but can also make the former a table
scan, which tends to cause problems. This happened last week
where I work, and although MySQL DBAs are familiar with this bug,
I’m writing this blog post for developers to more clearly
illustrate and explain what’s going on and why because it’s
really counterintuitive.
Which is faster: LIMIT 1
or LIMIT 20
?
Presumably, fetching less rows is faster than fetching more rows.
But for 16 years (since 2007) the MySQL query optimizer has had
a “bug”† that not only makes LIMIT 1
slower
than LIMIT 20
but can also make the former a table
scan, which tends to cause problems. This happened last week
where I work, and although MySQL DBAs are familiar with this bug,
I’m writing this blog post for developers to more clearly
illustrate and explain what’s going on and why because it’s
really counterintuitive.
Which is faster: LIMIT 1
or LIMIT 20
?
Presumably, fetching less rows is faster than fetching more rows.
But for 16 years (since 2007) the MySQL query optimizer has had
a “bug”† that not only makes LIMIT 1
slower
than LIMIT 20
but can also make the former a table
scan, which tends to cause problems. This happened last week
where I work, and although MySQL DBAs are familiar with this bug,
I’m writing this blog post for developers to more clearly
illustrate and explain what’s going on and why because it’s
really counterintuitive.
Most of us are lucky that software bugs are a small part of our lives. The ‘things just work’ attitude works for most situations, but occasionally something appears that may seem trivial at first glance may be catastrophic.
A bug appeared in MySQL’s recently released 8.0.32 that really caught my attention. This is a prime example of how a minor bug could have a significant impact on your life and a detrimental impact on your company or project.
The title Wrong result for AVG() OVER(ROWS BETWEEN 1 FOLLOWING AND UNBOUNDED FOLLOWING) is the first thing that caught my eye. A lot of developers heavily use the AVG() function. My first thought was, ‘ut-oh, AVG() being broken is a terrible thing,’ but then I realized it was thankfully not that drastic.
The OVER() clause indicates this is a problem in a Window Function. And odds are, if you are using OVER() for …
[Read more]A year ago, I blogged about An Unprivileged User can Crash your MySQL Server. At the time, I presented how to protect yourself against this problem without explaining how to generate a crash. In this post, I am revisiting this vulnerability, not giving the exploit yet, but presenting the fix. Also, because the default configuration of Group Replication in 5.7 is still vulnerable
A few weeks ago and in MySQL 5.7, I had an ALTER TABLE that failed with a duplicate entry error. This is old news as it is happening since MySQL 5.6, but I only saw this recently because I am normally using online schema change from the Percona Toolkit (pt-osc) or GitHub's online schema migration (gh-ost). I do not like that and I am disappointed this has not been improved, so this
Yes, your read the title correctly: an unprivileged user can crash your MySQL Server. This applies for the default configuration of MySQL 8.0.21 (and it is probably the case for all MySQL 8 GA versions). Depending on your configuration, it might also be the case for MySQL 5.7. This needs malicious intent and a lot of determination, so no need to panic as this will not happen by
In this blog post, we’ll look at does the Meltdown fix affect performance for MySQL on bare metal servers.
Since the news about the Meltdown bug, there were a lot of reports on the performance hit from proposed fixes. We have looked at how the fix affects MySQL (Percona Server for MySQL) under a sysbench workload.
In this case, we used bare metal boxes with the following specifications:
- Two-socket Intel(R) Xeon(R) CPU E5-2683 v3 @ 2.00GHz (in total 56 entries in /proc/cpuinfo)
- Ubuntu 16.04
- Memory: 256GB
- Storage: Samsung SM863 1.9TB SATA SSD
- Percona Server for MySQL 5.7.20
- Kernel (vulnerable) 4.13.0-21
- Kernel (with Meltdown fix) 4.13.0-25
Please note, the current kernel for Ubuntu 16.04 contains only a Meltdown fix, …
[Read more]