I was finally able to reproduce the problem John was seeing in my local test environment. As of InDe 22.0 r15, the .Net MySql.Data.dll connector used to communicate with MySQL .net is 6.3.6.0 (from 2018).
This version doesn't know about the newer caching_sha2_password default authentication method. I ran into a similar problem on the PostgreSQL side which InDe fixed in 21.5.
The latest version of MySql.Data.dll is 8.0.29.0 (from 2022). Maybe InDe could update their shipping versions?
In the meantime, there are workarounds. What John did was switch to MariaDB. But if that isn't an option...
When you do a default install of MySQL 8.0 server, it will automatically install this newer caching_sha2_password mechanism, which will not work with the current InDe drivers. The simplest fix is when you first install MySQL Server, for Authentication Method select "Use Legacy Authentication Method (Retain MySQL 5.x Compatibility)".
If you don't do this on the first install, you can go back and modify the existing installation, but any accounts you have already created will still be using the newer caching_sha2_password method, so it appears that all is still broken. To fix that for each account you use from InDe or its apps to login to the MySQL Server, you must run some SQL to change the account to use the older authentication method. This is a good post on the subject:
https://chrisshennan.com/blog/fixing-authentication-plugin-cachingsha2password-cannot-be-loaded-errorsJohn and I did the first part, but failed to do this second part, which is why we ended-up using MariaDB instead.
So in the above post under "Resolution", be sure and do BOTH Items 1) and 2).
And then restart the MySQL service.
Note: the file you need to change is my.ini which on Windows with a default install is in this location:
- Code: Select all
C:\ProgramData\MySQL\MySQL Server 8.0\my.ini
Of course, make a backup of this file before doing any changes!
...jack