dolthub / dolt

Dolt – Git for Data
Apache License 2.0
17.97k stars 513 forks source link

Support `caching_sha2_password` authentication method #8496

Open fulghum opened 3 weeks ago

fulghum commented 3 weeks ago

MySQL 8.4 (LTS) has deprecated, and MySQL 9.0 (innovation) has removed, support for the mysql_native_password authentication method. This is currently the only authentication mode supported by Dolt.

Customers on MySQL 8.4 can start mysqld with the --mysql-native-password=ON option to opt-in to re-enabling native password authentication, but it will not be available in future major releases of MySQL beyond 9.0.

The first affected use case is replication – customers have to opt-in to native password support on the current LTS of MySQL for Dolt to be able to connect to it as a replication source (or vice versa, for MySQL to connect to Dolt as the replication source).

It seems likely that the mysql client, as well as MySQL connector libraries, will continue supporting the deprecated native password auth process for a while, but eventually they will follow and may be unable to connect to Dolt sql servers depending on how they are updated.

fanyang01 commented 6 days ago

+1

We're building MyDuck Server using the excellent go-mysql-server library. I recently discovered that if users install the MySQL client via brew install mysql-client, they will receive a version 9.* client, which lacks support for mysql_native_password. Additionally, setting --default-auth=mysql_native_password does not resolve the issue.