User tests: Successful: Unsuccessful:
Joomla 4.0 don't work with MySQL 8 without a workaround.
Please follow these introductions from this wiki I wrote to make Joomla 4.0 and MySQL 8 working.
Joomla 3.8, 3.9 are working fine as well with this workaround.
I add a link to the error message to help some users who wants to use Joomla with MySQL 8.
Before
After
Please open your configuration file sudo nano /etc/my.cnf (Please note that your file may be under a different directory) and add the following configuration:
[mysqld]
default-authentication-plugin=mysql_native_password
If you don't have access to your config file then you can update your user as follows:
ALTER USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Replace username with the name of the user account and password with the password belonging to the account. Restart MySQL and you are done, well only if you have Joomla 3.8 or 3.9 installed.
If you want to work with Joomla 4.0 you have to do some extra work, because the administration dashboard is blank after the installation with Joomla 4.0 and MySQL 8.
Fortunately there is a fix for that too!
MySQL 8 is returning Incorrect date value: '0000-00-00' after running following insertion from the installation file /installation/sql/mysql/joomla.sql.
The following query must be run to fix this. Replace #_ with your table prefix.
UPDATE `#__modules` SET `checked_out_time` = '1000-01-01 00:00:00', `publish_up` = '1000-01-01 00:00:00', `publish_down` = '1000-01-01 00:00:00';
This is happening because since MySQL 5.7, MySQL stops supporting zeros value in date / datetime. Restart MySQL and you are done!
Status | New | ⇒ | Pending |
Category | ⇒ | Installation Language & Strings |
In that case your documentation is wrong. As I read that link to the php issue then its only for a specific version of php 7.2.8 and not generic to mysql8 and joomla. Your documentation implies that the problem is for everyone trying to use joomla with mysql8
@brianteeman The issue @BilalReffas linked in his last comment is the wrong one as that indeed seems related to a specific PHP version. However in the wiki we have the link to the PHP 7.3 commit, which is this one: php/php-src@d6e81f0
This fixes the MySQL 8 authorization in PHP.
Your documentation implies that the problem is for everyone trying to use joomla with mysql8
That is exactly the case. The reason is because they changed the password hashing. This is not something we can fix in Joomla, the PHP MySQL client must be updated.
This is not only Joomla but any PHP application and even Sequel Pro on Mac for example. These won't work until the clients are updated to handle the new password mechanism.
Surely the correct way to "resolve" this is to add a test for mysql8 in the preinstall check and display any message there. Displaying it here on every database installation error will just confuse people - remember most users wouldnt know if they were using mysql8 or not.
Surely the correct way to "resolve" this is to add a test for mysql8 in the preinstall check and display any message there.
Except you can't. Because to get the database version, the client has to be able to connect to the server, and right now we can't even reliably establish a connection.
This still seems very wrong to me. How are other lamp apps handling this?
Other applications are using the mysql_native_password
as a workaround as well.
Labels |
Added:
?
?
|
@BilalReffas Also your wiki article says
The following queries must be run to fix this. Replace #_ with your table prefix.
But there is only one query
Thank you I will change the wiki @brianteeman. Just for clarification is just one query.
Some updates on this?
@BilalReffas next Step: PR needs minimum 2 successfully Tests.
Who will do it @franz-wohlkoenig ? :)
all you can do is give Test Instructions which Volunteers can understand (please consider not all are Developers, maybe most of them).
I would write the Steps here too to make it as easy as possible for Tester to decide if they can/want test and don't have to look on another Site.
Okay I will update the text of my pull request
hope this works.
I updated the test instructions
I have tested this item
I have tested this item
Some updates on this?
Patience is a virtue
Status | Pending | ⇒ | Ready to Commit |
Ready to Commit after two successful tests.
@BilalReffas next Step: Maintainer decide if merge.
Looks good to me! Thanks!
Status | Ready to Commit | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2018-08-06 09:43:59 |
Closed_By | ⇒ | wilsonge | |
Labels |
Added:
?
|
Thank you for this but wouldnt it be better to make joomla work with mysql8 that point people to a wiki