MySQL 8 authentication plugin 'caching_sha2_password'

Posts   
 
    
_Ron_
User
Posts: 4
Joined: 19-Nov-2018
# 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.

Ron.

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 10-Jan-2019 09:49:44   

Hmm. According to https://forums.devart.com/viewtopic.php?t=37106 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.

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# 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.

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 10-Jan-2019 10:29:32   

Well, this stuff is just broken. The docs say:

https://www.devart.com/dotconnect/mysql/docs/?Devart.Data.MySql~Devart.Common.SshAuthenticationType.html

"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. disappointed

It sucks that the mysql ado.net 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.

Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 10-Jan-2019 10:40:23   
Frans Bouma | Lead developer LLBLGen Pro
Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# 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 .

Frans Bouma | Lead developer LLBLGen Pro
_Ron_
User
Posts: 4
Joined: 19-Nov-2018
# Posted on: 30-Jan-2019 03:22:47   

I have been watching the discussion with Devart.

Thanks for your support so far :-)

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39590
Joined: 17-Aug-2003
# Posted on: 18-Feb-2019 11:13:38   

Their fix works.

Frans Bouma | Lead developer LLBLGen Pro
_Ron_
User
Posts: 4
Joined: 19-Nov-2018
# Posted on: 21-Feb-2019 01:42:56   

Excellent. thanks for following that up with Devart

:-)