google / google/ml-metadata

fully support mysql 8.0 (`caching_sha2_password` authentication)

Open
#178 6 comments 7 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.