Skip to content

CI: change MySQL image in CI from 8.3 to LTS 8.4 #18555

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jorgsowa
Copy link
Contributor

MySQL 8.4 is LTS version so I changed the version from 8.3 to 8.4 in the CI images.

https://dev.mysql.com/blog-archive/introducing-mysql-innovation-and-long-term-support-lts-versions/

@jorgsowa jorgsowa requested a review from TimWolla as a code owner May 14, 2025 15:09
@jorgsowa
Copy link
Contributor Author

One mysql test fails, because mysql_native_password is not enabled by default.

Copy link
Member

@TimWolla TimWolla left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because mysql_native_password is not enabled by default.

It should be loaded then. Since it's still available, it makes sense to me that we still test it.

@andypost
Copy link
Contributor

it needs command:--mysql-native-password=ON

@jorgsowa
Copy link
Contributor Author

It should be loaded then. Since it's still available, it makes sense to me that we still test it.

@TimWolla plugin is not even tested in this failing test case. It's test for mysqli_report() function. Plugin mysql_native_password is removed in PHP 9.0. It may be even wrong to consider this deprecated mode in tests because somehow the non-existing user uses deprecated auth, but we don't set it anywhere in the tests. It should be the default taken from mysql settings, that for 8.4 is caching_sha2_password.

@TimWolla
Copy link
Member

plugin is not even tested in this failing test case. It's test for mysqli_report() function.

I see. I did not check the test. The change to ext/mysqlnd/mysqlnd_enum_n_def.h is a functional change, though. And thus unrelated to this PR. It makes sense to me, but it should have its dedicated PR including its own tests. As an example, I can't say whether or not it will break older MySQL 5.x versions.

Also caching_sha2_password requires linking mysqlnd against OpenSSL to work, which is not a given as of now:

#ifdef MYSQLND_HAVE_SSL

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants