私が使用して、SSLを必要とするMySQLサーバへの接続てるMySqlConnection
:接続MySQLはC#でSSLを使用する
var connection = new MySqlConnection("Data Source=127.0.0.1;Database=MyDb1;User Id=root;Password=blabla;encrypt=true");
サーバーがSSLを必要としない場合、これは成功しますが、上のGRANT USAGE ON *.* TO 'root'@'localhost' REQUIRE SSL;
を実行した後サーバーでは、次のように失敗し始めます。
ProviderIncompatibleException:プロバイダがProviderManifestToken文字列を返しませんでした。 ---> MySql.Data.MySqlClient.MySqlException:メソッド 'mysql_native_password'を使用してユーザー 'root'のホスト '127.0.0.1'への認証が失敗しました:ユーザー 'root' @ 'localhost'のアクセスが拒否されました(パスワード:はい)---> MySql.Data.MySqlClient.MySqlException:YES)
方法は、SSLが有効になっている:アクセスが(パスワードを使用して、ユーザーのルート '@ 'localhost' のために拒否されましたか?何かが接続文字列に追加されるべきか、それともプログラム的に行われるべきですか?