MariaDB, MySQL hay PostgreSQL: chọn database nào cho hosting năm 2026

Nên dùng MariaDB hay MySQL, hay PostgreSQL? So sánh license, phiên bản LTS, ngày hết hỗ trợ, WordPress, Laravel, mặc định trên Debian/Ubuntu.

Ba database MariaDB, MySQL và PostgreSQL đặt cạnh nhau, so sánh license, phiên bản và ứng dụng hỗ trợ

Ý chính

  • Với WordPress và đa số website PHP, MariaDB và MySQL đều được hỗ trợ chính thức; trên Debian, MariaDB đơn giản hơn vì là server tương thích MySQL mặc định của bản phân phối.
  • MySQL 8.0 đã hết hỗ trợ từ tháng 4/2026; các dòng MySQL còn hỗ trợ là 8.4 LTS và 9.7 LTS.
  • PostgreSQL rất hợp với Laravel và ứng dụng tự viết, nhưng WordPress không liệt kê PostgreSQL trong yêu cầu hệ thống.
  • MariaDB và MySQL đã khác nhau nhiều, nên chuyển dữ liệu bằng file dump và kiểm tra collation, cách xác thực user.

Năm 2026, nếu bạn đang phân vân nên dùng MariaDB hay MySQL cho hosting, câu trả lời ngắn là cả hai đều chạy tốt WordPress, WooCommerce, Laravel và gần như mọi ứng dụng PHP, nên khác biệt nằm ở license, cách đóng gói và thời hạn hỗ trợ hơn là tính năng. MariaDB là lựa chọn mặc định dễ nhất trên Debian, nơi nó là server tương thích MySQL của bản phân phối, và mỗi bản LTS có ít nhất 3 năm bản build cộng đồng. Chọn MySQL khi ứng dụng hoặc dịch vụ managed cần đúng MySQL, còn PostgreSQL hợp với Laravel hay ứng dụng tự viết cần SQL mạnh hơn, nhưng không dành cho WordPress.

Bài này so sánh cách quản trị dự án, phiên bản còn hỗ trợ, ứng dụng tương thích, mặc định trên Debian và Ubuntu, và cách chuyển dữ liệu. Bài không có benchmark: hiệu năng phụ thuộc vào schema, câu truy vấn và cấu hình nhiều hơn là tên database.

License và ai đứng sau dự án

MariaDB MySQL PostgreSQL
License GPLv2 GPLv2 (bản Community) và license thương mại của Oracle PostgreSQL License (dễ dãi, kiểu BSD/MIT)
Ai phát triển MariaDB Foundation (phi lợi nhuận) và MariaDB plc, đơn vị đóng góp code chính Oracle PostgreSQL Global Development Group (cộng đồng)
Cách ra bản Mỗi năm một bản LTS, kèm bản rolling hằng quý Các dòng LTS và bản Innovation Mỗi năm một bản lớn, mỗi bản hỗ trợ 5 năm

MariaDB được các nhà phát triển gốc của MySQL tách ra (fork). MariaDB Foundation cam kết "MariaDB Server will remain Free and Open Source Software licensed under GPLv2" và tự mô tả là độc lập với các công ty thương mại. Thực tế hai bên gắn bó chặt: MariaDB Corporation là đơn vị đóng góp code chính, CEO của MariaDB plc ngồi trong hội đồng của Foundation. Bản thân MariaDB plc đã được K1 Investment Management mua lại và rút khỏi sàn vào tháng 9/2024.

MySQL thuộc Oracle. Theo FAQ về license của Oracle, server và thư viện client được phát hành "under both the GPL and a commercial license", trong đó GPL là GPLv2 kèm một số quyền bổ sung. License thương mại chủ yếu liên quan đến các hãng nhúng MySQL vào phần mềm họ phân phối.

PostgreSQL dùng PostgreSQL License, "a liberal Open Source license, similar to the BSD or MIT licenses". Không công ty nào sở hữu dự án này.

Với một công ty hosting thông thường, không license nào ở trên tạo ra nghĩa vụ gì: bạn chạy database, không phân phối lại bản đã sửa.

Phiên bản còn hỗ trợ và ngày hết hỗ trợ (tháng 10/2026)

Database Phiên bản Loại Phát hành Hết hỗ trợ cộng đồng
MariaDB 10.6 LTS 7/2021 6/7/2026 (đã hết)
MariaDB 10.11 LTS 2/2023 16/2/2028
MariaDB 11.4 LTS 5/2024 29/5/2029
MariaDB 11.8 LTS 6/2025 4/6/2028
MariaDB 12.3 LTS 5/2026 12/6/2029
MySQL 8.0 LTS 4/2018 4/2026 (đã hết, bản cuối 8.0.46)
MySQL 8.4 LTS 4/2024 Premier Support đến 30/4/2029
MySQL 9.7 LTS 21/4/2026 Premier Support đến 30/4/2031
PostgreSQL 14 Bản lớn 9/2021 12/11/2026
PostgreSQL 15 Bản lớn 10/2022 11/11/2027
PostgreSQL 16 Bản lớn 9/2023 9/11/2028
PostgreSQL 17 Bản lớn 9/2024 8/11/2029
PostgreSQL 18 Bản lớn 9/2025 14/11/2030

Nguồn: chính sách bảo trì của MariaDB, release notes MySQL 8.0 của Oracle ("As of April 2026, with version 8.0.46, MySQL 8.0 reaches End of Life"), thông báo MySQL 9.7.0 LTS, endoflife.date cho thời hạn Premier Support của MySQL, và chính sách phiên bản PostgreSQL.

Lưu ý MariaDB đã đổi chính sách: từ 11.8, bản build LTS cộng đồng chỉ phát hành trong 3 năm, sau đó thêm 2 năm vá bảo mật dạng mã nguồn; đến 11.4 vẫn là 5 năm bản build. Vì vậy 11.8 hết hỗ trợ sớm hơn 11.4. Các bản rolling hằng quý (13.0 và 13.1 tại thời điểm viết) chỉ được hỗ trợ vài tháng, nên trên server hosting hãy dùng bản LTS.

Debian và Ubuntu cài gì mặc định

Trên Ubuntu và Debian, lệnh apt install default-mysql-server không cho ra cùng một database. Gói mysql-defaults dùng chung cho hai bản phân phối trỏ gói này về MySQL trên Ubuntu và về MariaDB trên Debian (file rules của gói). Debian stable hoàn toàn không có MySQL Server, gói này chỉ có ở nhánh unstable.

Bản phân phối MariaDB MySQL PostgreSQL default-mysql-server
Debian 12 (bookworm) 10.11 không có trong stable 15 MariaDB
Debian 13 (trixie) 11.8 không có trong 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

Phiên bản lấy từ packages.debian.org và Launchpad cho MariaDB, MySQL 8.0 và MySQL 8.4 tại thời điểm viết. Kiểm tra trên VPS của bạn bằng apt policy mariadb-server mysql-server postgresql.

  • Trên Ubuntu 22.04 và 24.04, MySQL trong kho là dòng 8.0, đã hết hỗ trợ từ Oracle. Ubuntu 24.04 đang có 8.0.46, bản 8.0 cuối cùng.
  • Trên Ubuntu 22.04, MariaDB trong kho là 10.6 và PostgreSQL là 14. MariaDB 10.6 đã hết hỗ trợ cộng đồng từ tháng 7/2026, PostgreSQL 14 hết vào tháng 11/2026. Từ đó bạn phụ thuộc vào những gì bản phân phối tự vá, nên hãy lên kế hoạch chuyển sang Ubuntu hoặc Debian mới hơn.
  • Trên Debian 13 và Ubuntu 26.04, bạn có MariaDB 11.8 LTS, hỗ trợ đến tháng 6/2028, không cần thêm kho bên ngoài.

Tương thích ứng dụng: WordPress, WooCommerce và Laravel

Ứng dụng MariaDB MySQL PostgreSQL
WordPress / WooCommerce Khuyến nghị 10.11+ Khuyến nghị 8.0+ Không có trong danh sách hỗ trợ
Laravel 13 10.3+ 5.7+ 10.0+

Trang yêu cầu hệ thống của WordPress khuyến nghị PHP 8.3 trở lên và "MySQL version 8.0 or greater" hoặc "MariaDB version 10.11 or greater". Trang này không nhắc đến PostgreSQL, và lõi WordPress cùng phần lớn plugin viết SQL theo kiểu MySQL. WooCommerce cũng vậy. Với WordPress, câu hỏi thực sự chỉ là nên dùng MariaDB hay MySQL; xem thêm hướng dẫn cài WordPress trên VPS và checklist hosting WooCommerce.

Tài liệu database của Laravel liệt kê hỗ trợ chính thức cho MariaDB 10.3+, MySQL 5.7+, PostgreSQL 10.0+, SQLite và SQL Server. Laravel có driver riêng mariadb, mysql và pgsql, nên đổi database chủ yếu là đổi giá trị DB_CONNECTION rồi kiểm tra các câu SQL viết tay.

Khác biệt tính năng đáng quan tâm trên server hosting

MariaDB và MySQL dùng chung giao thức, công cụ client và phần lớn cú pháp SQL, nhưng đã tách xa nhau từ MySQL 8.0. Bảng tương thích và trang so sánh MariaDB 11.8 với MySQL 8 của chính MariaDB liệt kê chi tiết. Những điểm bạn sẽ gặp:

  • JSON. MySQL có kiểu JSON nhị phân riêng. Trong MariaDB, JSON là tên khác của LONGTEXT kèm kiểm tra hợp lệ, và giá trị được so sánh như chuỗi. Cú pháp SQL phần lớn tương thích.
  • Collation mặc định. MySQL 8.0+ mặc định utf8mb4_0900_ai_ci; MariaDB 11.4+ mặc định utf8mb4_uca1400_ai_ci. Thứ tự sắp xếp một số ký tự Unicode có thể khác, và file dump ghi collation mà server đích không biết sẽ import lỗi.
  • Xác thực. Client MySQL 8.4 mặc định dùng caching_sha2_password. Plugin cũ mysql_native_password bị tắt mặc định từ 8.4 và bị gỡ bỏ từ 9.0. MariaDB dùng mysql_native_password hoặc unix_socket, và user tạo bằng kiểu SHA-256 của MySQL không đăng nhập được vào MariaDB nếu giữ nguyên.
  • Tính năng chỉ MariaDB có: sequence, bảng system-versioned (lưu lịch sử dữ liệu) và, từ 11.8, kiểu VECTOR có index vector.
  • Replication. Hai bên dùng định dạng GTID khác nhau, nên replication trộn MySQL với MariaDB bị hạn chế.

PostgreSQL là một database khác hẳn: phương ngữ SQL khác, client khác (psql), kiểu dữ liệu chặt hơn, JSONB cho JSON có index (tài liệu) và hệ thống extension được nhiều đội dev đánh giá cao. Nó phát huy thế mạnh trong ứng dụng được viết cho nó.

Lưu ý khi chuyển đổi

Từ MySQL sang MariaDB (hoặc ngược lại). Dùng file dump (mysqldump hoặc mariadb-dump) rồi import vào server mới, thay vì chép thẳng thư mục dữ liệu giữa các bản mới. Trước khi import:

  1. Tìm trong file dump các collation như utf8mb4_0900_ai_ci và thay bằng collation server đích hỗ trợ, ví dụ utf8mb4_unicode_ci.
  2. Tạo lại user trên server đích bằng cách xác thực của nó, thay vì chép hash mật khẩu từ bảng mysql.user.
  3. Kiểm tra view, trigger và procedure có DEFINER trỏ đến user không tồn tại trên server mới.

Sau khi import, hãy kiểm tra chính ứng dụng: tìm kiếm, sắp xếp và các hàm JSON. Nếu chuyển cả server, xem bài chuyển hosting không gián đoạn.

Từ MySQL hoặc MariaDB sang PostgreSQL. Đây là chuyển ứng dụng chứ không chỉ chuyển database. Công cụ như pgloader chép được schema và dữ liệu, nhưng ứng dụng cũng phải hỗ trợ PostgreSQL. Với Laravel thường làm được; với WordPress thì không.

ZoPanel xử lý database thế nào

ZoPanel dùng MariaDB làm database mặc định và cài từ kho chính thức của bản phân phối, nên bạn nhận đúng các phiên bản trong bảng trên (10.11 trên Debian 12 và Ubuntu 24.04, 11.8 trên Debian 13 và Ubuntu 26.04). PostgreSQL, MongoDB và Redis là thành phần tùy chọn, quản trị viên cài khi khách cần (tài liệu database). Mỗi database có user riêng chỉ có quyền trên database đó, truy cập từ xa được mở theo từng database cho các IP được liệt kê, và có sẵn backup theo lịch với khôi phục một cú nhấp. Khi deploy Laravel, panel tự tạo database MariaDB và ghi file .env (tài liệu Laravel).

Hạn chế cần nói rõ: ZoPanel không cài MySQL Server trên máy, và không cho chọn bản MariaDB khác với bản mà hệ điều hành cung cấp. Nếu cần đúng MySQL, bạn có thể kết nối một server MySQL hoặc MariaDB bên ngoài (ví dụ database managed trên cloud) và tạo database ở đó. Khi nhập backup cPanel, database MySQL/MariaDB được chuyển tự động, còn database PostgreSQL phải khôi phục thủ công. Nếu muốn tự dựng stack, xem hướng dẫn cài LEMP trên Ubuntu; phần panel có ở trang tính năng database.

Kết luận

Với server chạy WordPress, WooCommerce và website PHP thông thường, MariaDB LTS là lựa chọn mặc định thực tế năm 2026: license GPL, có sẵn trong kho Debian và Ubuntu, được WordPress và Laravel hỗ trợ. MySQL 8.4 hoặc 9.7 LTS hợp khi ứng dụng, dịch vụ managed hoặc kinh nghiệm của đội bạn gắn với MySQL, nhưng hãy bỏ 8.0. PostgreSQL rất tốt cho Laravel và ứng dụng tự viết, nhưng không hợp với WordPress. Dù chọn gì, hãy kiểm tra ngày hết hỗ trợ của phiên bản mà hệ điều hành thực sự cài.

Nếu bạn muốn có sẵn MariaDB, PostgreSQL và backup từng database mà không phải tự cấu hình, gói Free của ZoPanel cho 3 tài khoản hosting, 10 website và 10 database, không giới hạn thời gian.

Câu hỏi thường gặp

Nên dùng MariaDB hay MySQL cho WordPress?

Cả hai đều được hỗ trợ chính thức: WordPress khuyến nghị MariaDB 10.11+ hoặc MySQL 8.0+. Trên Debian, MariaDB là server tương thích MySQL có sẵn trong kho nên cài và cập nhật đơn giản hơn. Trên Ubuntu dùng bên nào cũng được, nhưng tránh dòng MySQL 8.0 đã hết hỗ trợ.

MariaDB có thay thế hoàn toàn MySQL được không?

Không còn hoàn toàn nữa. Với WordPress và đa số ứng dụng PHP, bạn sẽ không thấy khác biệt, nhưng MariaDB và MySQL 8 khác nhau ở cách lưu JSON, collation mặc định, plugin xác thực và replication. Hãy chuyển dữ liệu bằng file dump và kiểm tra lại ứng dụng.

WordPress có chạy được trên PostgreSQL không?

Yêu cầu hệ thống của WordPress chỉ liệt kê MySQL và MariaDB, lõi và plugin dùng SQL riêng của MySQL. Chạy trên PostgreSQL không phải cấu hình được hỗ trợ, nên hãy để PostgreSQL cho các ứng dụng được viết cho nó.

MySQL có còn miễn phí không?

Có. MySQL Community Edition phát hành theo GPLv2, chạy trên server của bạn không tốn phí. License thương mại và bản Enterprise của Oracle chủ yếu dành cho trường hợp nhúng MySQL vào phần mềm bạn phân phối.

Khi nào MySQL 8.0 hết hỗ trợ?

Đã hết rồi. Release notes của Oracle ghi MySQL 8.0 hết vòng đời vào tháng 4/2026 với bản 8.0.46, và khuyến nghị chuyển lên MySQL 8.4 LTS hoặc bản mới hơn. Nếu server của bạn vẫn chạy 8.0, hãy lên kế hoạch nâng cấp hoặc chuyển sang MariaDB LTS.