Forum:  Bugs & Issues

Thread:  MySQL 8 authentication plugin 'caching_sha2_password'

_Ron_ (User)   Posted on: 10-Jan-2019 08:01:50.
Does LLBL Gen Pro support MySQL 8 authentication plugin 'caching_sha2_password'?

I have installed the current Devart dotConnector 8.12w.1278.0 and it lists MySQL 8 in its compatibility. But when i try to connect LLBL Gen Pro 5.5 to a MySQL 8 db that has been configured with the 'recommended' authentication, i get:

Exception message:
Exception type: MySqlException
Can't connect to MySQL server on 'qaDB' (10061): Authentication failed.

Inner exception message:
Exception type: InvalidOperationException
Unknown authentication plugin 'caching_sha2_password'.

Thanks for your help.

Otis (LLBLGen Pro Team)   Posted on: 10-Jan-2019 09:49:44.
Hmm. According to it should work. In their docs it's stated that if you don't specify the auth plugin in the connectionstring (we don't specify it) it will be negotiated by the client, so it should work. 'Should work', as with devart you'll never know.

We'll see if we can reproduce it. We could connect with our mysql db 8.0 without a problem, but ran into a bug in their mysql connector wrt schema retrieval which should be fixed in the latest connector. So it's a bit of a bumpy road.

Otis (LLBLGen Pro Team)   Posted on: 10-Jan-2019 10:10:12.
We had authentication set to 'standard' for the user we use for testing. When we add a user with cached_sha2_password, we can reproduce your problem.

We'll see if we have to do something at the driver level.
Otis (LLBLGen Pro Team)   Posted on: 10-Jan-2019 10:29:32.
Well, this stuff is just broken. The docs say:

"Default Auth Plugin" as the fragment for the connectionstring to specify the auth plugin, right? Well....

Exception type: NotSupportedException
Keyword not supported: 'default auth plugin'.

Although this shouldn't really be needed as the docs also say:

"This option may be omitted because the client may receive the name of the authentication plugin when performing handshake, but you may use this option to shorten client/server negotiation and avoid a round trip in the protocol."

but omitting it gives the error you saw too.

So using 'standard' it works, using 'cached_sha2_password' it doesn't connect. I'll file a bug report with devart. Hopefully they've fixed it in a few months. Dissapointed

It sucks that the mysql alternatives all suck one way or the other. The vanilla one from mysql is so bad I don't even want to look at it (plus it's GPL licensed, so not an option). There's a promising OSS one but it lacks features we need (schemas etc.) so not an option at the moment and there's devart, which works if the moon is in the right quarter.

Otis (LLBLGen Pro Team)   Posted on: 10-Jan-2019 10:40:23.
For reference:
Otis (LLBLGen Pro Team)   Posted on: 28-Jan-2019 10:24:54.
Seems to be a bug in the MySQL connector from devart, the express edition at least. So it's now in their court to fix it .

_Ron_ (User)   Posted on: 30-Jan-2019 03:22:47.
I have been watching the discussion with Devart.

Thanks for your support so far :-)
Otis (LLBLGen Pro Team)   Posted on: 18-Feb-2019 11:13:38.
Their fix works.

_Ron_ (User)   Posted on: 21-Feb-2019 01:42:56.
Excellent. thanks for following that up with Devart