Skip to content
Maintenance & updates

End of support under the shop: OS and database

Debian 11, MariaDB 10.6 and MySQL 8.0 dropped out of maintenance in 2026. How to inventory distribution, database and PHP and plan the upgrades with lead time.

17 min read UpdatesWartungSicherheitsupdates

In short and in plain language

Your shop can be up to date and still run on old foundations. This means the operating system and the database of the server.

These programs also only get updates for a certain time. After that, gaps stay open.

The article shows how to track these dates. You keep a list per server with the end dates. You plan the switch early, with a test run and a way back.

We record the foundations of your servers and plan each switch.

A shop can be fully up to date and still stand on a foundation that nobody ships fixes for any more. Core, extensions and theme are current, the maintenance log is clean - and underneath runs an operating system whose maintenance has expired, next to a database server for which no packages are published any longer. In 2026, three such deadlines passed underneath the shop: since 21 April 2026 (Oracle), MySQL 8.0 has only been covered by Sustaining Support, on 6 July 2026 (MariaDB Foundation) community maintenance for MariaDB 10.6 ended, and on 31 August 2026 (Debian) long-term support for Debian 11 ran out. None of these dates raises an alert in the shop. This article walks through the chain under the shop layer by layer: what to record, which deadlines come next, in which order the upgrades make sense and what remains with the operator when the server is rented.

Key takeaways

  • Debian 11 has received no long-term support since 31 August 2026 (Debian). Anyone running a shop on it needs a scheduled upgrade to Debian 12 or 13.
  • MariaDB 10.6 left community maintenance on 6 July 2026 (MariaDB Foundation), MySQL 8.0 has been under Sustaining Support since 21 April 2026 (Oracle). Oracle recommends moving to MySQL 8.4 LTS or 9.7 LTS (Oracle).
  • The distribution often decides which PHP and database version runs: Debian 11 ships PHP 7.4 (Debian) and MariaDB 10.5 (Debian), Debian 12 ships PHP 8.2 (Debian) and MariaDB 10.11 (Debian).
  • The newest version is not always the one maintained longest: MariaDB 11.8 receives community binaries until 4 June 2028 (MariaDB Foundation), the older 11.4 until 29 May 2029 (MariaDB Foundation).
  • The next deadlines are fixed: Ubuntu 22.04 leaves standard support in May 2027 (Canonical), MariaDB 10.11 leaves community maintenance on 16 February 2028 (MariaDB Foundation), Debian 12 leaves LTS on 30 June 2028 (Debian).
  • A sensible order of upgrades: database, operating system, PHP, shop. Each step is rehearsed on staging on its own, with a tested backup and a defined way back before the first command.

The runtime chain under the shop

When people talk about shop updates, they usually mean three things: the core of the shop system, the extensions and the theme. Underneath lies a second chain that comes up less often in day-to-day maintenance, even though everything stands on it. At the bottom is the Linux distribution with kernel, system libraries and package management. On top of it runs the database server, usually MariaDB or MySQL, which holds orders, customer accounts, products and sessions. Next to it sits the PHP runtime that generates every page, and the web server that accepts requests and hands them to PHP. Each of these layers has its own vendor, its own release rhythm and its own end date.

The tricky part of this chain is that its deadlines do not show up in the shop. The back end of a shop system displays its own version and reports available updates for the core and extensions. Whether the distribution underneath is still maintained is something it never learns. The database server answers queries after its end date just as quickly as before. The only difference is that no fix is published for newly discovered vulnerabilities - and that only becomes apparent once such a vulnerability is exploited.

How far "it runs" and "it is maintained" can drift apart is shown by the WordPress requirements page. It recommends PHP 8.3 (WordPress.org) or greater and MariaDB 10.11 or MySQL 8.0 (WordPress.org) or greater. The same page also states that WordPress still runs in legacy environments with PHP 7.4 and MySQL 5.5.5 (WordPress.org) - with the explicit note that these versions have reached their official end of life and may expose the site to security vulnerabilities. A shop on such a foundation works. It is simply no longer maintained. For WordPress maintenance that covers the server, this means the check does not stop at the core and plugins.

Running is not the same as maintained

An end of support changes nothing on the running system. It changes what arrives after the cut-off date: no security fixes from regular maintenance, no new packages, no bug fixes. This state is invisible from the outside, and it does not show up in the shop back end.

Three deadlines that expired in 2026

Debian 11 was maintained for five years: three years of regular support until 14 August 2024 (Debian), followed by two years of long-term support (LTS) until 31 August 2026 (Debian). The project's release page points out that third parties offer paid security support for bullseye until 30 June 2031 (Debian). That is a bridge, not a destination: it extends the deadline but does not replace the upgrade, and it requires a contract that someone has to sign, pay for and set up on every server. Choosing this path buys time for a planned move, not a permanent state.

MariaDB 10.6 was released on 6 July 2021 (MariaDB Foundation) and reached the end of community maintenance on 6 July 2026 (MariaDB Foundation). The MariaDB Foundation describes its previous rule as follows: for releases up to and including 11.4, binaries are published for five years after general availability (MariaDB Foundation). For 10.6, the same table lists later dates in the Enterprise and Extended columns. For the freely available packages, the Community column is what counts, and its date has passed.

MySQL 8.0 has been covered by Sustaining Support under Oracle's Lifetime Support policy since 21 April 2026 (Oracle). On the same page, Oracle itself advises upgrading to MySQL 8.4 LTS or 9.7 LTS (Oracle). For planning purposes, that is the decisive statement: the vendor has left the 8.0 series behind and names its successors explicitly. Waiting for further fixes for 8.0 is not a plan.

ComponentEnd of maintenanceType of maintenanceSource
MySQL 8.0since 21 April 2026Sustaining SupportOracle
MariaDB 10.66 July 2026CommunityMariaDB Foundation
Debian 1131 August 2026LTSDebian
PHP 8.231 December 2026Security fixesThe PHP Group
Ubuntu 22.04 LTSMay 2027Standard security maintenanceCanonical
MariaDB 10.1116 February 2028CommunityMariaDB Foundation
MariaDB 11.84 June 2028CommunityMariaDB Foundation
Debian 1230 June 2028LTSDebian
MariaDB 11.429 May 2029CommunityMariaDB Foundation
Ubuntu 24.04 LTSMay 2029Standard security maintenanceCanonical
Debian 1330 June 2030LTSDebian

The table shows why looking at a single layer is not enough. Between April 2026 and May 2029, a deadline falls in most half-years, and they affect different layers of the same server. Anyone who only watches the PHP version overlooks the database; anyone who only knows the operating system does not know which database runs from which source.

The next deadlines from 2027 to 2030

Debian 12 completed its regular maintenance on 11 July 2026 (Debian) and has since been in long-term support, which ends on 30 June 2028 (Debian). Debian 13 was released on 9 August 2025 (Debian), and its LTS phase runs until 30 June 2030 (Debian). Anyone upgrading from Debian 11 in autumn 2026 therefore has two targets with very different remaining lifetimes: the jump to Debian 12 buys just under two years, the jump to Debian 13 just under four. The effort differs less than the lifetime, because both targets require a rehearsal with a new PHP version.

Servers on Ubuntu follow the same logic with a different calendar. Ubuntu 22.04 LTS receives standard security maintenance until May 2027 (Canonical), expanded security maintenance runs until May 2032 (Canonical) and is delivered through the Ubuntu Pro (Canonical) subscription. Ubuntu 24.04 LTS is in standard support until May 2029 (Canonical), Ubuntu 26.04 LTS was released in April 2026 and is maintained until May 2031 (Canonical). Expanded maintenance is a separate component that has to be booked and activated on every server. A server on which it is planned but not set up receives no security fixes from standard maintenance after May 2027.

For MariaDB, the next major deadline concerns 10.11: community maintenance ends on 16 February 2028 (MariaDB Foundation). This is the version Debian 12 ships and the one WordPress names as its minimum recommendation. It therefore affects every server running Debian 12 with the database from the distribution.

After version 11.4, the MariaDB Foundation changed its rule. Up to and including 11.4, binaries were published for five years (MariaDB Foundation). For later long-term releases, it provides community binaries for only three years (MariaDB Foundation) after general availability and then delivers fixes for critical and security issues for two additional years (MariaDB Foundation) as source code. The consequence is in the same table: MariaDB 11.8 is newer than 11.4 but receives community binaries only until 4 June 2028 (MariaDB Foundation), while 11.4 gets them until 29 May 2029 (MariaDB Foundation). The youngest version in the table, 12.3, was released in May 2026 and is maintained as a community release until 12 June 2029 (MariaDB Foundation) - barely longer than 11.4.

The newest version is not always the longest-lived

When choosing an upgrade target, the end date matters, not the version number. That applies to MariaDB with its changed maintenance rule just as much as to distributions whose long-term support differs in length from version to version. So the question is not what is newest, but which version meets the requirements of the shop and is maintained the longest.

Inventory per layer

Before a calendar can exist, it has to be clear what actually runs on the server. The hosting contract is not enough for that, because it describes what was installed at provisioning, not today's state. For each layer, three details belong in the inventory: the exact version, the origin of the packages and the end date from the vendor source.

Distribution and release

Name, major version and point release of the operating system, plus the configured package sources. An additional repository from a database or PHP provider changes who is responsible for those packages.

Database server

Product, version and origin: from the distribution, from the vendor's repository or as a separate service of the hosting provider. Each origin follows its own calendar.

PHP runtime

Version on the command line and in the web server, since the two can differ, plus the package source. The PHP version of the distribution is tied to its release.

Web server

Product, version and the configuration for TLS and the PHP connection. It is updated with the distribution and may bring changed defaults with the jump.

Shop and requirements

Core version, extensions and the system requirements of the target version. They determine which PHP and database version must be available at a minimum.

Responsibility

Who applies which layer: hosting provider, agency or operator. Without a written assignment, nobody feels responsible for the upgrade when in doubt.

Most of these details can be queried directly on the server within a few minutes. The following commands apply to Debian and Ubuntu; on managed servers without shell access, the hosting provider supplies the same details on request.

inventory.sh
# Distribution and release
cat /etc/os-release

# Origin of packages: distribution or extra repository
apt-cache policy mariadb-server mysql-server php

# Database server
mariadb --version
mysql --version

# PHP on the command line (cross-check in the web server via phpinfo)
php -v

# Web server
nginx -v
apache2 -v

Two points in this output decide the rest of the plan. The first is the origin of the packages. If PHP and the database come from the distribution, their versions are tied to the release: Debian 11 ships PHP 7.4 (Debian) as its default and MariaDB 10.5 (Debian) as its database, Debian 12 ships PHP 8.2 (Debian) and MariaDB 10.11 (Debian). The second is whether one of these versions has already expired upstream. PHP 7.4 has been without maintenance there since 28 November 2022 (The PHP Group), and community maintenance for MariaDB 10.5 ended on 24 June 2025 (MariaDB Foundation). Within the distribution, its own maintenance could keep looking after such packages. With the end of the LTS phase, that support is gone too.

The PHP project itself follows a fixed rhythm: each branch is fully supported for two years (The PHP Group), then for two additional years for critical security issues only (The PHP Group). For PHP 8.2, the version in Debian 12, this security support ends on 31 December 2026 (The PHP Group) - long before Debian 12 leaves LTS. Anyone using the distribution's PHP packages therefore depends on the distribution's maintenance, not on the deadline listed on php.net. How to plan a PHP version change in detail is described in our article on PHP upgrades without downtime.

Anyone who installs MySQL or PHP from a vendor repository has a second calendar. Vendor repositories follow the lifecycle of the distribution, sometimes ahead of its own end date: Oracle announced that it would stop building MySQL binaries for Debian 11 on 1 July 2024 (Oracle). For a server that obtained MySQL this way, supply from its usual source thus ended, according to the announcement, around two years before LTS ran out. How the database is maintained and monitored during operation is covered in the article on database maintenance for running shops.

A deadline calendar with lead time

The inventory becomes a calendar. Each row holds a component, its version, the end date with its source and the date on which preparation has to start. That second date is the one that really matters. A version jump underneath the shop needs a rehearsal, an approved date, a maintenance window outside peak trading hours and room for a second attempt if the first one is aborted. Anyone who only starts on the end date is already working in an unmaintained state.

How much lead time is needed depends on the scope. A database jump on an otherwise unchanged server can usually be completed in one window. A jump of the operating system with a new PHP version and changed web server defaults usually needs several rehearsals. Shops with seasonal business also have a change freeze to consider: if an end date falls in late autumn, the upgrade belongs before the Christmas season, not after it.

  • Component and exact version, as queried on the server
  • Origin of the packages: distribution, vendor repository or hosting provider service
  • End date with a link to the vendor source and the date it was last checked
  • Start of preparation, counted backwards from the end date
  • Target version with its own end date and the shop's requirements for it
  • Responsible party that triggers, carries out and signs off the upgrade

The calendar is only as good as its upkeep. Vendor deadlines can be moved or clarified, and with its releases after 11.4 the MariaDB Foundation has shown that even the rule by which deadlines are set can change. Every row therefore needs checking against its source regularly, at least once a quarter. Under security updates as an ongoing service, we monitor the components in use down to the operating system, web server and PHP version. Such a calendar can be built into that work, so that lead times are reported and upgrades scheduled before maintenance ends.

The order of the upgrades

When several layers expire at the same time, it is tempting to renew everything in one go. That saves a maintenance window and costs the diagnosis if something fails: if the shop shows errors after a combined jump, four causes are possible, and each has a different way back. A fixed order is more sensible, with each step checked on its own before the next one starts.

The database server comes first, because it holds the state of the shop. A major version jump rewrites system tables and data files; afterwards, the way back usually leads only through the backup. So beforehand, a complete dump that has been successfully restored on a second system, and afterwards a test of the key processes: placing an order, search, export.

This order is not dogma. If the shop core does not yet support the new PHP version, the core has to be raised first, or the PHP jump waits. What matters is that only one layer changes at any point and the previous state remains recoverable. For systems with their own core deadlines, such as TYPO3, Drupal or Joomla, it is worth aligning with the support deadlines of the CMS major versions, so that core and foundation are not touched twice in quick succession.

Rehearsal on staging, way back prepared

Each of these jumps is made on a copy first. The copy has to match the production server in the points that matter: the same distribution, the same database version, the same PHP modules, a current data set. A staging environment that nobody has touched for a year tests the jump from a state that no longer exists in production. How such an environment is set up and kept current is described in our article on the staging environment for safe updates.

The rehearsal follows a script that is later repeated step by step in production. It includes the commands in their order, the duration of each step and the checks afterwards: home page, category, product, search, basket, checkout with a test payment, customer account, back end, export to the ERP system and scheduled tasks. The total duration is measured too, because it determines the length of the maintenance window without lost revenue.

The way back exists before the first command

Before the jump in production, there is a backup whose restore worked during the rehearsal, plus a server snapshot where the hosting provider offers one. The point at which the jump is aborted is also defined: if the window runs out without all checks passing, the server goes back to the old state. Without a tested backup there is no way back - which is why the backup service with restore testing comes before every jump.

A special case is the rebuild. Instead of raising the existing server version by version, a new server is set up at the target state, the shop is transferred to it and the old server is left standing as the way back until the new one has proven itself in operation. That takes more preparation and a data move, but the starting state stays fully intact. For jumps across two distribution versions, it is often the calmer route. What happens if an update fails despite the rehearsal is answered in our FAQ on what happens if an update fails.

Managed server or your own VPS: who upgrades?

Who is responsible for the foundation depends on the hosting model, and more precisely than the product names suggest. With a managed server, the hosting provider usually takes care of the operating system and web server, often also PHP and the database. With your own VPS or root server, everything above the virtualisation layer lies with the customer. In between there are many hybrid forms: managed database services, PHP versions to switch in the customer panel, operating system upgrades only on request. The contract is what counts, not the name of the plan.

LayerManaged serverOwn VPS
Distribution and kernelusually hosting provider, date often set by the providerOperator
Database serverhosting provider or operator, depending on contractOperator
PHP versionchoice often with the operator, packages with the providerOperator
Web serverusually hosting providerOperator
Shop core and extensionsoperator or agencyoperator or agency
Testing and sign-off after the jumpoperator or agencyoperator or agency

The last row is the one that stays with the operator in both models. Even a hosting provider that maintains the operating system does not test whether the checkout still calculates correctly after the database jump or whether an extension throws errors with the new PHP version. And with a managed server, the date of the jump cannot always be chosen freely: if the provider raises a platform on a fixed date, the shop has to be ready by then. Which duties lie where in detail is covered in the article hosting provider vs. maintenance: who patches what.

In most cases, this does not require a change of hosting provider. We work with the existing environment, clarify with the provider which layer lies with them and take over the remaining steps including rehearsal and testing. Why that is the case is explained in the answer to whether you can keep your hosting provider.

What a postponed upgrade costs

The bill for a postponed upgrade looks cheap at first: no rehearsal, no maintenance window, no project time. It tips as soon as a vulnerability becomes known in a component for which no fix is published any more. Exploitation of vulnerabilities is now the most common initial access vector, accounting for 31% (Verizon) of analysed incidents with an identified initial access vector, ahead of credential abuse. And even where fixes exist, full resolution of critical vulnerabilities takes a median of 43 days (Verizon).

The other side is faster. Between a vulnerability being added to the catalogue of actively exploited vulnerabilities and its mass exploitation lies a median of five days (Verizon, 2025 report). A server without maintenance no longer takes part in this race at all: no fix is coming for it, however long one waits. Ongoing shop monitoring reports outages and anomalies, but it does not replace the calendar - an end date triggers no alarm.

No more fixes

After the end date, a new vulnerability becomes known but is no longer closed. The server stays exposed until the upgrade has been made.

Chain reaction

Vendor repositories drop older distributions, new extensions require newer PHP versions. One outdated layer blocks the updates of the others.

Evidence for third parties

Anyone who has to keep maintenance records, for an insurer for example, needs verifiable evidence of the maintenance status of every layer - not just the shop core.

On top of that comes an effect that only appears when catching up. The longer a server stands still, the bigger the jump becomes: a move from Debian 11 to 12 turns into one across two versions, a PHP change by one minor version turns into one across several. Every extra step increases the number of places where extensions, configuration or database queries can break. The postponed upgrade does not get cheaper but more expensive - and it then often falls into a period nobody planned for it.

The foundation in the maintenance contract

Deadlines underneath the shop can be planned, because they are published years in advance. What is usually missing is not the information but someone who retrieves it regularly, compares it with the inventory and schedules the upgrade. In the maintenance contract with fixed response times, this can be agreed as a fixed part of the scope: inventory per server, deadline calendar with lead time, rehearsal on staging, the jump in an agreed maintenance window and sign-off with a checklist afterwards. Whether the hosting provider stays makes no difference to this work.

For shops on Shopware, core updates and the foundation thus sit in the same calendar, so a new core does not fail because of an outdated PHP or database version. How the rest of the shop is maintained is described on the page on Shopware maintenance. And anyone still running Debian 11, MariaDB 10.6 or MySQL 8.0 today is best off starting with the inventory: it shows which of the deadlines in this article affect their own server.

Sources and studies

This article draws on data from: Debian (release pages for Debian 11, 12 and 13 and the package database packages.debian.org), MariaDB Foundation (maintenance periods of the long-term releases on mariadb.org), Oracle (MySQL Product Support EOL Announcements), Canonical (Ubuntu release cycle), The PHP Group (Supported Versions and Unsupported Branches), WordPress.org (Requirements), Verizon (2026 Data Breach Investigations Report - Retail Snapshot and 2025 Data Breach Investigations Report). All deadlines were checked against the named sources on 23 September 2026.

Related Articles

Maintenance & updates

Moving Shop Servers Without Losing Orders: A Runbook

Resolvers may keep serving stale DNS answers for 1 to 3 days. How a shop moves servers without losing orders, cron jobs or payment notifications.

20 min read
Maintenance & updates

Hosting provider or maintenance: who patches what

Where the hosting provider’s responsibility ends and maintenance begins: a matrix across every layer of the shop, questions to ask and clear handover points.

16 min read
Maintenance & updates

When your CMS version leaves support: 2026/2027

TYPO3 v12 ends on 30 April 2026, Joomla 5.x on 13 October 2026, Drupal 10 on 9 December 2026. The end dates and the lead time a version jump needs.

16 min read