chucknorris / roundhouse

RoundhousE is a Database Migration Utility for .NET using sql files and versioning based on source control
http://projectroundhouse.org
920 stars 247 forks source link

Request: Update MySql.Data.dll to support clear text password authentication #447

Closed coryreid closed 2 years ago

coryreid commented 2 years ago

I was working on using RoundhousE to perform MySQL migrations using Azure Managed Identities. I got the process working to connect, but when you pass the token, it requires the MySQL connection to accept clear text passwords.

When running through RoundhousE, I get the following error reported back in the stack trace:

MySql.Data.MySqlClient.MySqlException (0x80004005): Authentication method 'mysql_clear_password' not supported by any of the available plugins.

It looks like RoundhousE is using MySQL.Data.Dll version 8.0.16, and support for cleartext password authentication was added in version 8.0.22 from what I can see.

I had a difficult time getting RoundhousE running locally, otherwise I would've pushed this into a PR and run the testing to ensure no compatibility issues. I also know that Grate is the primary focus, but would love the opportunity to utilize managed identity authentication for cloud database providers using RoundhousE if it's possible to get the dll bumped.

twerthi commented 2 years ago

+1, the cleartext password authentication would enable this to be used with Azure, AWS, and GCP native authentication providers as they all implement similar methods.

erikbra commented 2 years ago

Hi, guys, just a quick note that no one is actively maintaining RoundhousE at the moment. I was one of the main maintainers for a couple of years, but I did a re-implementation using more modern tools, called grate. Please check out #438 for more info

coryreid commented 2 years ago

Hey @erikbra , thanks for the response. Will look at Grate to support more of the cloud native authentication workflows, I can see where you're using MySqlConnector instead of the traditional Data.dll that should support what we're needing! 🤞

erikbra commented 2 years ago

Please do look at Grate, and feel free to file a similar issue there, if there is a screnario we don't support out-of-the box there. The aim of starting a rewrite was partly to be able to use new and modern libraries, supporting more functionality, without being gagged and bound by ancient dependencies :)