# MariaDB vs MySQL vs PostgreSQL for web hosting in 2026

> MariaDB vs MySQL vs PostgreSQL in 2026: licenses, LTS versions and end-of-life dates, WordPress and Laravel support, distro defaults and migration.

Source: https://zopanel.net/blog/mariadb-vs-mysql-vs-postgresql  
Updated: 2026-10-21

## Key takeaways

- For WordPress and most PHP hosting, MariaDB and MySQL are both officially supported, and MariaDB is the simpler choice on Debian because it is the distribution's default MySQL-compatible server.
- MySQL 8.0 reached end of life in April 2026; the supported MySQL lines are 8.4 LTS and 9.7 LTS.
- PostgreSQL is a strong choice for Laravel and custom applications, but WordPress does not list it as a supported database.
- MariaDB and MySQL have drifted apart, so move data between them with a logical dump and test collations and user authentication.

For web hosting in 2026, MariaDB and MySQL both run WordPress, WooCommerce, Laravel and almost every PHP application, so the choice between them comes down to licensing, packaging and support dates rather than features. MariaDB is the easier default on Debian, where it is the distribution's MySQL-compatible server, and its LTS releases get at least three years of community binaries. Pick MySQL when an application or managed service needs MySQL-specific behavior, and pick PostgreSQL for Laravel or custom apps that benefit from its richer SQL, but not for WordPress.

Below we compare governance, supported versions, application support, Debian and Ubuntu defaults, and migration. There are no benchmarks here: performance depends on your schema, queries and configuration far more than on the engine name.

## Licensing and governance

| | MariaDB | MySQL | PostgreSQL |
| --- | --- | --- | --- |
| License | GPLv2 | GPLv2 (Community) plus a commercial license from Oracle | PostgreSQL License (permissive, BSD/MIT style) |
| Who develops it | MariaDB Foundation (non-profit) and MariaDB plc, the main code contributor | Oracle | PostgreSQL Global Development Group (community) |
| Release model | One LTS per year, plus quarterly rolling releases | LTS lines plus Innovation releases | One major version per year, each supported 5 years |

**MariaDB** was forked from MySQL by MySQL's original developers. The [MariaDB Foundation](https://mariadb.org/about/) states that "MariaDB Server will remain Free and Open Source Software licensed under GPLv2" and describes itself as independent of commercial entities. In practice the ties are close: MariaDB Corporation is the primary code contributor, and MariaDB plc's CEO sits on the Foundation's board. MariaDB plc itself was [taken private by K1 Investment Management in September 2024](https://mariadb.com/newsroom/press-releases/k1-acquires-a-leading-database-software-company-mariadb-and-appoints-new-ceo/).

**MySQL** belongs to Oracle. According to [Oracle's licensing FAQ](https://www.mysql.com/about/legal/licensing/oem/), the server and client libraries are available "under both the GPL and a commercial license", the GPL being GPLv2 with extra permissions. The commercial license matters mostly to vendors who embed MySQL in a product they distribute.

**PostgreSQL** uses the [PostgreSQL License](https://www.postgresql.org/about/licence/), "a liberal Open Source license, similar to the BSD or MIT licenses". No single company owns it.

For a typical hosting business none of these licenses creates obligations: you are running the database, not redistributing modified copies of it.

## Supported versions and end-of-life dates (October 2026)

| Engine | Version | Type | Released | Community support ends |
| --- | --- | --- | --- | --- |
| MariaDB | 10.6 | LTS | Jul 2021 | Jul 6, 2026 (ended) |
| MariaDB | 10.11 | LTS | Feb 2023 | Feb 16, 2028 |
| MariaDB | 11.4 | LTS | May 2024 | May 29, 2029 |
| MariaDB | 11.8 | LTS | Jun 2025 | Jun 4, 2028 |
| MariaDB | 12.3 | LTS | May 2026 | Jun 12, 2029 |
| MySQL | 8.0 | LTS | Apr 2018 | April 2026 (ended, last release 8.0.46) |
| MySQL | 8.4 | LTS | Apr 2024 | Premier Support to Apr 30, 2029 |
| MySQL | 9.7 | LTS | Apr 21, 2026 | Premier Support to Apr 30, 2031 |
| PostgreSQL | 14 | Major | Sep 2021 | Nov 12, 2026 |
| PostgreSQL | 15 | Major | Oct 2022 | Nov 11, 2027 |
| PostgreSQL | 16 | Major | Sep 2023 | Nov 9, 2028 |
| PostgreSQL | 17 | Major | Sep 2024 | Nov 8, 2029 |
| PostgreSQL | 18 | Major | Sep 2025 | Nov 14, 2030 |

Sources: the [MariaDB maintenance policy](https://mariadb.org/about/#maintenance-policy), Oracle's [MySQL 8.0 release notes](https://docs.oracle.com/cd/E17952_01/mysql-8.0-relnotes-en/) ("As of April 2026, with version 8.0.46, MySQL 8.0 reaches End of Life"), Oracle's [announcement of MySQL 9.7.0 LTS](https://www.mysql.com/news-and-events/), [endoflife.date](https://endoflife.date/mysql) for MySQL Premier Support dates, and the [PostgreSQL versioning policy](https://www.postgresql.org/support/versioning/).

Note that MariaDB changed its policy: from 11.8 on, community LTS binaries are published for three years, then two more years of source-only security fixes; up to 11.4 it was five years of binaries. That is why 11.8 ends before 11.4. MariaDB's quarterly rolling releases (13.0 and 13.1 at the time of writing) are supported for only a few months, so stay on an LTS.

## What Debian and Ubuntu install by default

On Ubuntu and Debian, `apt install default-mysql-server` does **not** give the same engine everywhere. The `mysql-defaults` package, shared by both distributions, points the metapackage at MySQL on Ubuntu and at MariaDB on Debian ([package rules](https://git.launchpad.net/ubuntu/+source/mysql-defaults/plain/debian/rules?h=ubuntu/noble)). Debian stable does not ship MySQL Server at all; it only appears in unstable.

| Distribution | MariaDB | MySQL | PostgreSQL | `default-mysql-server` |
| --- | --- | --- | --- | --- |
| Debian 12 (bookworm) | 10.11 | not in stable | 15 | MariaDB |
| Debian 13 (trixie) | 11.8 | not in stable | 17 | MariaDB |
| Ubuntu 22.04 | 10.6 | 8.0 | 14 | MySQL |
| Ubuntu 24.04 | 10.11 | 8.0 | 16 | MySQL |
| Ubuntu 26.04 | 11.8 | 8.4 | 18 | MySQL |

Versions are from [packages.debian.org](https://packages.debian.org/trixie/mariadb-server) and Launchpad for [MariaDB](https://launchpad.net/ubuntu/+source/mariadb), [MySQL 8.0](https://launchpad.net/ubuntu/+source/mysql-8.0) and [MySQL 8.4](https://launchpad.net/ubuntu/+source/mysql-8.4) at the time of writing. Check your own server with `apt policy mariadb-server mysql-server postgresql`.

- On **Ubuntu 22.04 and 24.04**, the packaged MySQL is the 8.0 series, which Oracle no longer supports upstream. Ubuntu 24.04 carries 8.0.46, the final 8.0 release.
- On **Ubuntu 22.04**, the packaged MariaDB is 10.6 and PostgreSQL is 14. Upstream community support for MariaDB 10.6 ended in July 2026 and PostgreSQL 14 ends in November 2026. From then on you depend on what the distribution backports, so plan a move to a newer Ubuntu or Debian release.
- On **Debian 13 and Ubuntu 26.04**, you get MariaDB 11.8 LTS, supported until June 2028, without adding any third-party repository.

## Application compatibility: WordPress, WooCommerce and Laravel

| Application | MariaDB | MySQL | PostgreSQL |
| --- | --- | --- | --- |
| WordPress / WooCommerce | 10.11+ recommended | 8.0+ recommended | Not listed as supported |
| Laravel 13 | 10.3+ | 5.7+ | 10.0+ |

[WordPress's requirements page](https://wordpress.org/about/requirements/) recommends PHP 8.3 or greater and "MySQL version 8.0 or greater" or "MariaDB version 10.11 or greater". It does not mention PostgreSQL, and WordPress core and most plugins write MySQL-flavored SQL. WooCommerce follows the same rule. For WordPress the real decision is MariaDB or MySQL; see our [WordPress on a VPS guide](/blog/install-wordpress-on-vps) and [WooCommerce hosting checklist](/blog/woocommerce-hosting).

[Laravel's database documentation](https://laravel.com/docs/13.x/database) lists first-party support for MariaDB 10.3+, MySQL 5.7+, PostgreSQL 10.0+, SQLite and SQL Server. Laravel has separate `mariadb`, `mysql` and `pgsql` drivers, so switching is mostly the `DB_CONNECTION` value plus testing your raw SQL.

## Feature differences that matter on a hosting server

MariaDB and MySQL share the same wire protocol, client tools and most SQL, but they have drifted apart since MySQL 8.0. MariaDB's own [compatibility matrix](https://mariadb.com/docs/server/server-management/install-and-upgrade-mariadb/migrating-to-mariadb/moving-from-mysql/mysql-to-mariadb-compatibility-matrix) and its [11.8 vs MySQL 8 comparison](https://mariadb.com/docs/release-notes/community-server/about/compatibility-and-differences/incompatibilities-and-feature-differences-between-mariadb-11-8-and-mysql-8) list the differences. The ones you will hit:

- **JSON.** MySQL has a native binary JSON type. In MariaDB, JSON is an alias for `LONGTEXT` with a validity check, and values are compared as strings. The SQL syntax is mostly compatible.
- **Default collation.** MySQL 8.0+ defaults to `utf8mb4_0900_ai_ci`; MariaDB 11.4+ defaults to `utf8mb4_uca1400_ai_ci`. Sorting of some Unicode characters can differ, and dumps that name a collation the target does not know will fail to import.
- **Authentication.** MySQL 8.4 clients use `caching_sha2_password` by default. The older `mysql_native_password` plugin is [disabled by default in 8.4 and removed in 9.0](https://dev.mysql.com/doc/refman/8.4/en/native-pluggable-authentication.html). MariaDB uses `mysql_native_password` or `unix_socket`, and users created with MySQL's SHA-256 methods cannot log in to MariaDB as they are.
- **MariaDB-only features** include sequences, system-versioned (temporal) tables and, from 11.8, a `VECTOR` type with vector indexes.
- **Replication.** The two use different GTID formats, so mixed MySQL and MariaDB replication is limited.

**PostgreSQL** is a different engine altogether: a different SQL dialect, a different client (`psql`), stricter typing, `JSONB` for indexed JSON ([docs](https://www.postgresql.org/docs/current/datatype-json.html)) and an extension system that many teams value. It shines in applications written for it.

## Migration notes

**MySQL to MariaDB (or the reverse).** Use a logical dump (`mysqldump` or `mariadb-dump`) and import it into the new server rather than copying data files between modern versions. Before importing:

1. Search the dump for collations such as `utf8mb4_0900_ai_ci` and replace them with one the target supports, such as `utf8mb4_unicode_ci`.
2. Recreate database users on the target with its own authentication method instead of copying password hashes from `mysql.user`.
3. Check views, triggers and procedures that carry a `DEFINER` pointing to a user that does not exist on the new server.

After the import, test the application itself: search, sorting and JSON functions. For a whole-server move, see [moving websites without downtime](/blog/migrate-website-without-downtime).

**MySQL or MariaDB to PostgreSQL.** This is an application port, not a database move. Tools such as [pgloader](https://pgloader.io/) can copy schema and data, but the application must also speak PostgreSQL. For Laravel this is often realistic; for WordPress it is not.

## How ZoPanel handles databases

ZoPanel uses **MariaDB as its default engine** and installs it from your distribution's official packages, so you get the versions in the table above (10.11 on Debian 12 and Ubuntu 24.04, 11.8 on Debian 13 and Ubuntu 26.04). PostgreSQL, MongoDB and Redis are optional components the administrator adds when customers need them ([database docs](/docs/databases)). Each database gets its own user limited to that database, remote access is opened per database for listed IPs only, and scheduled backups with one-click restore are built in. Laravel deploys create a MariaDB database and write the `.env` for you ([Laravel docs](/docs/laravel)).

Limits to be honest about: ZoPanel does not install a local MySQL Server, and it does not let you pick a MariaDB major version other than the one your distribution ships. If you need MySQL itself, you can connect an external MySQL or MariaDB server (for example a managed cloud database) and create databases there. When importing cPanel backups, MySQL/MariaDB databases are moved automatically, but PostgreSQL databases must be restored by hand. To build the stack by hand, see our [LEMP on Ubuntu guide](/blog/lemp-stack-ubuntu); the panel side is on the [databases feature page](/features/databases).

## Conclusion

For a server that hosts WordPress, WooCommerce and typical PHP sites, MariaDB LTS is the practical default in 2026: it is GPL, packaged by Debian and Ubuntu, and supported by WordPress and Laravel. MySQL 8.4 or 9.7 LTS is the right call when an application, a managed service or your team's experience depends on MySQL specifically, but leave 8.0 behind. PostgreSQL is an excellent engine for Laravel and custom applications, and the wrong one for WordPress. Whatever you choose, check the end-of-life date of the version your OS installs.

If you want MariaDB, PostgreSQL and per-database backups set up for you, [ZoPanel's Free plan](/pricing) covers 3 hosting accounts, 10 websites and 10 databases with no time limit.

## Frequently asked questions

### Should I use MariaDB or MySQL for WordPress?

Both are officially supported: WordPress recommends MariaDB 10.11+ or MySQL 8.0+. On Debian, MariaDB is the packaged MySQL-compatible server, so it is simpler to install and keep updated. On Ubuntu either works, but avoid the unsupported MySQL 8.0 series.

### Is MariaDB a drop-in replacement for MySQL?

Not fully any more. For WordPress and most PHP apps the difference is invisible, but MariaDB and MySQL 8 differ in JSON storage, default collations, authentication plugins and replication. Move data between them with a dump and test the application afterwards.

### Can WordPress run on PostgreSQL?

WordPress's requirements list only MySQL and MariaDB, and core and plugins use MySQL-specific SQL. It is not a supported setup, so keep PostgreSQL for applications built for it.

### Is MySQL still free to use?

Yes. MySQL Community Edition is available under GPLv2, and running it on your own server costs nothing. Oracle's commercial license and Enterprise Edition matter mainly if you embed MySQL in software you distribute.

### When does MySQL 8.0 reach end of life?

It already has. Oracle's release notes say MySQL 8.0 reached end of life in April 2026 with version 8.0.46, and recommend moving to MySQL 8.4 LTS or a newer release. If your server still runs 8.0, plan an upgrade or a move to MariaDB LTS.
