fully support mysql 8.0 (`caching_sha2_password` authentication)
- Dominant language
- C++
- Stars
- 685
- Forks
- 185
- PR merge metrics
- No merged PRs in 30d
Description
Currently, `ml-metadata` can't be used with most MySQL 8.0 databases out of the box, this is because in MySQL 8.0, the `default-authentication-plugin` was [changed from `mysql_native_password` to `caching_sha2_password` for significant security reasons](https://dev.mysql.com/blog-archive/upgrading-to-mysql-8-0-default-authentication-plugin-considerations/).
There have been a number of issues related to this over the past few years:
- https://github.com/google/ml-metadata/issues/128
- https://github.com/google/ml-metadata/issues/149
We even have an error message that suggests people use the less secure `mysql_native_password`:
https://github.com/google/ml-metadata/blob/2d7a26062f9e51a0d19ee142c73ed2b165c40099/ml_metadata/metadata_store/mysql_metadata_source.cc#L173-L181
---
As the adoption of MySQL 8.0 increases, and we hit the [EOL of MySQL 5.7 in October 2023](https://endoflife.date/mysql), this issue is going to affect more and more people.
I strongly suggest we plan to __upgrade our MySQL client to one which properly supports MySQL 8.0__.
Contributor guide
Assessment
This issue has not been assessed yet.