You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The default authentication plugin in MySQL 8.0 and onwards has been changed to caching_sha2_password whereas it was mysql_native_password in MySQL 5.7 and earlier. If a CREATE USER query did not specify the authentication plugin explicitly, the default authentication plugin was used.
User accounts already created in existing instances are not altered as a part of an upgrade. So, all existing user accounts continue to use the same authentication plugin that they used in e.g. MySQL 5.7.
This means that the users that were created by Tutor in version 15 or earlier used the mysql_native_password authentication and even after upgrading to MySQL 8.0 in Palm and 8.4 in Redwood, that was not changed.
In Tutor 18.0.0, MySQL was upgraded to v8.4.0 as per #1071. In MySQL 8.4.0, mysql_native_password is disabled by default as per the docs. This means that if the DB contains users using the mysql_native_password plugin, it will refuse to connect.
A possible solution is to start the MySQL server with the parameters --mysql-native-password=ON. But this might be unsafe in the long run.
The text was updated successfully, but these errors were encountered:
fixesoverhangio#1089
For tutor instances that were created with tutor 15 and earlier and then upgraded to tutor 18, the launch process would fail as MySQL connection could not be made. This is because mysql-native-password was removed in MySQL 8.4.0. We turn it on temporarily to fix failing connections
Bug description
When you upgrade from tutor 15.x to tutor 18.x, the LMS cannot connect to the MySQL server during the launch step with the error:
The same error occurs if you try to enter the SQLshell using the following methods:
do sqlshell
command./manage.py lms dbshell
in the LMS containerHow to reproduce
tutor local launch
to launch a fresh local instance and verify that the LMS and Studio are working fine.tutor config save
tutor local upgrade --from=olive
tutor local launch
And then the init task for tutor 18 crashes at the MySQL step with the above mentioned error.
Environment
OS: MacOS Sonoma 14.5
Tutor versions 15.3.9 and 18.1.0
Additional context
This issue was initially raised in https://discuss.openedx.org/t/error-1524-hy000-plugin-mysql-native-password-is-not-loaded/13257/9
The default authentication plugin in MySQL 8.0 and onwards has been changed to
caching_sha2_password
whereas it wasmysql_native_password
in MySQL 5.7 and earlier. If aCREATE USER
query did not specify the authentication plugin explicitly, the default authentication plugin was used.According to the MySQL docs:
This means that the users that were created by Tutor in version 15 or earlier used the
mysql_native_password
authentication and even after upgrading to MySQL 8.0 in Palm and 8.4 in Redwood, that was not changed.In Tutor 18.0.0, MySQL was upgraded to v8.4.0 as per #1071. In MySQL 8.4.0,
mysql_native_password
is disabled by default as per the docs. This means that if the DB contains users using themysql_native_password
plugin, it will refuse to connect.A possible solution is to start the MySQL server with the parameters
--mysql-native-password=ON
. But this might be unsafe in the long run.The text was updated successfully, but these errors were encountered: