We run a Joomla 5 website on a professionally managed server.
On our production environment, the MySQL account used by Joomla has intentionally limited privileges — only SELECT, INSERT, UPDATE, DELETE — following the principle of least privilege.
All Joomla and extension updates are performed exclusively on a staging/qualification machine, never directly on production.
However, the Smart Search (com_finder) component appears to issue ALTER TABLE commands on its own tables during index rebuilding.
This effectively forces us to grant the ALTER privilege to the Joomla database user permanently, which we want to avoid for obvious security reasons.
Questions:
- Is it normal that
com_finderneeds to runALTER TABLEstatements during normal operation? - Is there any configuration option or “safe mode” to rebuild or use the index without modifying the database structure?
- If not, is this considered a bug or simply a design choice?
- Is there any roadmap or open issue to better separate schema-modifying privileges (
ALTER,CREATE,DROP) from regular runtime operation?
This behavior makes Joomla difficult to deploy in professional or audited environments where database privileges are strictly controlled.
Other CMSs (e.g. WordPress, Drupal) can operate in production without ALTER permissions — could Joomla move in that direction?
Thanks in advance for any insights or official clarification!
Environment:
Joomla 5.x, PHP 8.2, MySQL 8.0, Smart Search enabled.