5 minutes reading time (901 words)

Embracing Change: Why Joomla 5’s Requirement for MySQL 8 is a Leap Forward…

November-Mysql

Joomla 5, released on October 17th, marks a significant milestone in CMS evolution. This latest version, two years in the making, elevates the Joomla experience with its unmatched security, swift performance, and stellar code quality. At the heart of this leap forward is Joomla's unwavering dedication to innovation, performance, and security, necessitating a match in its underlying database systems.

Understanding Joomla 5’s technical requirements

While some users face challenges upgrading to Joomla 5 due to hosting limitations with MySQL 8, it's essential to understand the rationale behind this decision. It's not merely a preference but a strategic alignment with Joomla's core values of security and innovation. With MySQL 5.7 reaching its end-of-life and the software itself being eight years old, the transition to MySQL 8.0 is both timely and critical.


Technical advancements

Introduced in 2018, MySQL 8.0 is not just an update but a significant advancement. It brings to the table enhancements in SQL, JSON, GIS, reliability, observability, manageability, security, and performance. This version is not just about bug fixes; it represents a new era of continuous delivery and innovation from Oracle. A more detailed list can be found on the MySQL Blog.

MySQL 8.0's prowess lies in its enhanced performance, robust security policies, and optimised resource management. This makes it an indispensable tool for maintaining Joomla’s high standards of performance, stability, and security.


Joomla 5.x database requirements: A quick overview

For those seeking technical specifics, Joomla 5.x supports various database systems. The recommended and minimum versions are as follows

More information can be found in the Joomla Documentation

Database Recommended Minimum
MySQL 8.1 8.013
MariaDB 11.1.0 10.4.0
PostgreSQL 16.0 12.0



Navigating the transition: Understanding MySQL versions

Understanding MySQL’s release history and support timelines is crucial. Here’s a quick guide:

Release General Availability Latest Minor Version Latest Release End of Support
5.7 LTS 21st October 2015 5.7.44 2023-10-25 October 2023
8.0 LTS 19th April 2018 8.0.35 2023-10-25 April 2026
8.1 18th July 2023 8.1.0 2023-07-18 IR
8.2 25th October 2023 8.2.0 2023-10-25 IR

 

 

 

 

 


LTS - Long Term Supported Releases
IR - Innovation Release

What’s the difference between IR and LTS? Both IR and LTS are production-grade quality, however if you want to access the latest features and improvements then Oracle say that Innovation releases are the best fit.

Addressing the challenge of outdated hosting environments

The main issues or risks associated with not updating to MySQL 8 include security vulnerabilities which could leave your website or application open to attack. And performance issues, as outlined MySQL 8 has introduced a number of performance improvements. By staying on 5.7 you are missing out on these benefits. 


Why are some hosting suppliers not using MySQL 8.0?

The reluctance of some hosting providers to adopt MySQL 8.0, often due to concerns about downtime and service disruption, presents a challenge. However, the risks of not updating, particularly in terms of security vulnerabilities and performance drawbacks, are significant. For businesses and e-commerce platforms, staying current with MySQL versions is not just a recommendation; it's a necessity.


Is it safe to use MySQL 5.7?


Whether it's safe to use or not depends on your specific needs and what steps your hosting supplier is taking to secure your website or application from vulnerabilities. If it's a non-critical application such as a personal blog, you could argue that it may be acceptable to use for a while longer; however if it's a business website or ecommerce store then you really should upgrade to a newer version of MySQL.


What should you do if your hosting supplier is still on MySQL 5.7?

If your hosting provider still operates on MySQL 5.7, initiate a dialogue about their upgrade plans and security measures. If your hosting supplier is not planning to upgrade to a newer version of MySQL, or if you are not satisfied with their response, you may want to consider switching to a different hosting provider that is using a newer version of MySQL. Most hosting suppliers offer migration services to make the process easier. Alternatively you may want to investigate if your hosting supplier is offering another compatible database system such as MariaDB.

Challenges with MySQL 8 in local environments:

A closer look at MAMP

Presently, MAMP is limited to MySQL 5.7, creating compatibility issues with Joomla 5. Discussions on MAMP's support forums reveal anticipation for MySQL 8 integration, expected in MAMP Pro later this year. This upgrade, fervently awaited by users voicing their concerns online, raises hopes for its subsequent inclusion in MAMP's free version.

In the interim, workarounds have emerged. For instance, integrating MySQL 8 with MAMP via Docker containers, though not ideal, proves functional. macOS users can explore DBngin, allowing database linkage without leaving MAMP, or Herd for a streamlined solution.

Considering alternatives: A strategy for adaptation

As we navigate this transitional phase, XAMPP emerges as a practical interim solution, offering MySQL 8 support. This alternative might serve well until the arrival of MAMP Pro 7.


Conclusion

Joomla's decision to integrate MySQL 8 as a technical requirement is a forward-thinking move that underscores its commitment to providing a secure, efficient, and state-of-the-art CMS experience. This step ensures long-term support, compatibility with modern technologies, and an enhanced user experience characterised by improved security and performance. However, it's also important to note that you don’t need to upgrade to Joomla 5 straight away, you can remain on 4.4 until your provider supports the necessary database system.

1
Seasons of Coding and Documentation, our own progr...
Making a safe space for all in Joomla
 

Comments 1

Already Registered? Login Here
Nicholas K. Dionysopoulos on Tuesday, 21 November 2023 14:25
Requiring 8.0 was a case of premature optimization

JSON features were definitely part of MySQL 5.5. MySQL 8 made it easy to pivot JSON data as searchable tables which can be integrated in a query… but Joomla is not using and does not even support this feature anyway.

Recommending MySQL 8.1 is extremely premature as it has not hit General Availability yet. These versions are betas for all intents and purposes, not intended for production use as per Oracle’s official documentation. The only GA version of MySQL compatible with Joomla! 5 is 8.0.

The MariaDB support should’ve also been bumped. The current requirement is functionally identical to MySQL 5.7, which means that either Joomla! jumped the shark with the MySQL 8.0 requirement, or it didn’t pay attention to MariaDB. Or both. Why not both?

I’m all for change, but I think going for 8.0 instead of 5.7 when neither Joomla! uses any new features in MySQL nor do third parties are ready for this change was a mistake. It would be better to admit that J5 can run perfectly fine on MySQL 5.7 and recommend 8.0, with the actual requirement bump to 8.0 taking place in J6. The only thing Joomla managed to do is drive some people away, making it look “impossible” to run J5 on their local server and/or favorite host. More caution should be exercised when changes like that are decided. If you don’t use it, don’t require it. If you require it, make sure people can reasonably provide it in the majority of use cases.

1
JSON features were definitely part of MySQL 5.5. MySQL 8 made it easy to pivot JSON data as searchable tables which can be integrated in a query… but Joomla is not using and does not even support this feature anyway. Recommending MySQL 8.1 is extremely premature as it has not hit General Availability yet. These versions are betas for all intents and purposes, not intended for production use as per Oracle’s official documentation. The only GA version of MySQL compatible with Joomla! 5 is 8.0. The MariaDB support should’ve also been bumped. The current requirement is functionally identical to MySQL 5.7, which means that either Joomla! jumped the shark with the MySQL 8.0 requirement, or it didn’t pay attention to MariaDB. Or both. Why not both? I’m all for change, but I think going for 8.0 instead of 5.7 when neither Joomla! uses any new features in MySQL nor do third parties are ready for this change was a mistake. It would be better to admit that J5 can run perfectly fine on MySQL 5.7 and recommend 8.0, with the actual requirement bump to 8.0 taking place in J6. The only thing Joomla managed to do is drive some people away, making it look “impossible” to run J5 on their local server and/or favorite host. More caution should be exercised when changes like that are decided. If you don’t use it, don’t require it. If you require it, make sure people can reasonably provide it in the majority of use cases.

By accepting you will be accessing a service provided by a third-party external to https://magazine.joomla.org/