Page MenuHomePhabricator

Raise minimum supported MySQL version to MySQL 5.6 (or later)
Open, Needs TriagePublic

Description

There are a growing number of awkward compromises and blocked improvements or bug fixes that we have postponed investing in because we theoretically still support MySQL 5.5. I say theoretically, because it has been obsolete for quite a while now with afaik no human feedback or automated testing of any kind (e.g. from CI, active contributors, or beta testers).

Use cases

The last time we raised the MySQL requirement was in 2017, when we raised it from MySQL 5.0+ to 5.5+ in T161232. Some relevant tasks that have since stalled (in part or in whole due to lagging support)

  • Fix corrupt heartbeat-lag warnings causing wikis to unexpectedly become read-only, required MySQL 5.6+. – T248481
  • Use InnoDB engine for searchindex table, requires MySQL 5.6+. – T107875

Other related tasks that we should perhaps look at resolving while at it in this area:

  • Support the GTID mechanism that ships with MySQL 5.6+. - T162050
  • Allow temporary tables in more contexts. – T202245
  • Recognise MariaDB with its own minimum supported version. - T237898
Upstream support tables
ReleaseStable releaseSupport endExtended support endHighest platform support
MySQL 5.5Dec 2010 - Oct 2018 (5.5.8 - 5.5.62) Dec 2015 Dec 2018 None
MySQL 5.6Feb 2013 - … (5.6.10+) Feb 2018 Feb 2021 Debian 9, Windows 2016 (no macOS, no Ubuntu)
MySQL 5.7Oct 2015 - … (5.7.9+) Oct 2020 Oct 2023 Debian 10, Ubuntu 18, Windows 10, Windows 2016 (no macOS)
MySQL 8.0Apr 2018 - … (8.0.11+) April 2023 April 2026 Debian 10, Ubuntu 20, Windows 10, Windows 2019, macOS 11

Support dates:

Platforms and EOL:

Release dates and changelog:

Event Timeline

As a point of reference, after 5.5 is where MariaDB started diverging. So while I generally support this (and based on upstream support, probably going for 5.7 may make more sense, especially as 1.36 will be released after 5.6 is already fully EOL), we just need to start paying a little more attention.

See also the already referenced T237898: Add MariaDB version check in wikimedia/rdbms (separate from MySQL) .

I don't know how much practical difference this might make, but obviously just because MySQL >= 5.5 has a "feature" doesn't mean MariaDB will...

Given 1.36 won't be out for months, I'd recommend we go to 5.7 not 5.6 now.