As other CMS using MySQL and PHP, Joomla! is not yet 100% ready to work with MySQL 8.0 out of the box.
I’ve been contacted by Brian Teeman to give my opinion and some tips… so here is the blog post 😉
— ((( Brian Teeman ))) (@brianteeman) August 1, 2018
First let’s create a user (joomla/joomla) and a database. I won’t change the authentication method yet and let the default:
And now we can start Joomla!’s installation wizard:
So far, all good, let’s jump the the database settings:
And when we click on “Install Joomla >“….
Expected problem… as of course PHP is not supporting the new default ‘
caching_sha2_password‘ authentication method (check this previous post to know more about it).
So let’s change the authentication method for our user
Let’s try again…
KABOUM, again the same error…, we also need to change my.cnf to let know the server that the default authentication method is ‘
So in my.cnf, in the [mysqld] section we add:
default_authentication_plugin = mysql_native_password
And we restart
Let’s try again to clik on “Install Joomla >“….
Wooohooo it works \o/
However this is not yet enough… as if you click on “Complete & Open Site“, we can see that there is a problem:
We should see more… we don’t see the complete site.
As explained in the Joomla! wiki page for MySQL 8, we need to run a specific query:
Now we can refresh our Joomla! page and…
So, in conclusion, to run Joomla! with MySQL 8.0 you need:
mysql_native_passwordas authentication method as default in the server
mysql_native_passwordas authentication method
UPDATEquery as described in the Joomla! wiki page.
You can easily verify the authentication method for a user running:
That’s all for now and enjoy Joomla! with MySQL 8.0 !