Troubleshooting
Joomla 1.5 and 2.5, compatibility with MySQL 8
Archived document. Joomla 1.5 and Joomla 2.5 are out of support. They must not be adapted for production with manual core patches, nor exposed to the Internet to keep them compatible with a modern database.
The old bulk replacement of SQL queries with sed has been withdrawn. Changing core files without a maintained patch can introduce silent errors, data corruption and changes that are impossible to audit or update.
Safe course of action
- Isolate the old installation and make verified backups of its files and database.
- Inventory content, users, extensions, template and customisations before changing the environment.
- In staging, prepare a clean installation of a supported Joomla version with a database included in its official technical requirements.
- Migrate content and configuration in stages with maintained tools. Don't assume there is a direct jump: the path depends on the source version, extensions and template. If you need an intermediate step, keep it without public access and remove it when you finish.
- Replace abandoned extensions and templates, check integrity and that everything works, rotate credentials and publish only the supported target.
If you only need to recover information, work on an offline copy and export the data; don't turn that recovery environment into the final site.
Keep URLs and locate the incompatibility
Note down the full SQL error, Joomla version and database engine. An authentication or permission error needs a different diagnosis from a reserved word or withdrawn syntax; don't blame every failure on MySQL 8.
When migrating, keep a map of pages, documents and images with their equivalent destinations. The guide to migrating from Joomla 1.5 explains how to prepare the content without publishing a destination that is also obsolete.
You may also find useful
- SQLSTATE 2026 error when installing or updating PrestaShop Diagnose the SSL connection to MySQL that prevents Doctrine from querying the server version, withou...
- Corrupted tables in a MySQL database Confirm a table's error and engine before repairing it, keep a backup and avoid running REPAIR TABLE...
- Why cPanel and phpMyAdmin show different sizes for a database Explains why cPanel and phpMyAdmin calculate different sizes, how to find the large tables and when...
- Error "Argument X passed OrderProductForViewing must be of the type string" Identify the exact argument and row that deliver NULL when viewing a PrestaShop order, without bulk-...
Something wrong or out of date? Tell us and we will review it.