5

mysql コネクタを更新しました。Visual Studio 2012 と統合するためのバージョン 6.6.4 プロバイダーへのネットですが、edmx への接続を構成しようとすると、「認証方法 'mysql_old_password' はサポートされていません」というエラーが発生します。

4

3 に答える 3

9

このエラーメッセージは、パスワードが古いパスワード形式(http://dev.mysql.com/doc/refman/5.0/en/old-client.html)で保存されているMySQLデータベースに接続している場合に表示されます。新しいMySQLクライアントでは、安全性が低いため、古いパスワード形式を使用してデータベースに接続することはできません。

MySQLサーバーで設定することを提案する人もold_passwords=1いますが、パスワードを新しいパスワード形式にアップグレードする方がよいと思います。その後、MySQL接続を再度セットアップすると、データベースの保護が強化されます。

MySQLパスワードを古い形式から新しい形式にアップグレードする方法については、http://code.openark.org/blog/mysql/upgrading-passwords-from-old_passwords-to-new-passwordsを参照してください。

于 2013-02-01T09:37:31.070 に答える
2

MysqL Connector/NET 6.6.x (6.6.2 以降) では、古いパスワード形式の認証のサポートが廃止されました (安全でないために廃止され、攻撃方法が文書化されていました)。

古いパスワード スタイルのアカウントで使用しようとすると、算術オーバーフロー エラーが発生します (もちろん、よりわかりやすいエラーの方が適切です)。

このバグ レポートに記載されているとおり: http://bugs.mysql.com/bug.php?id=66647 Connector/NET では、ネイティブ 4.1 スタイルのパスワード (old_passwords=0) を使用する必要があります。

その他のオプションは Windows スタイル認証で、これもサポートされていますが、MySql 商用版が必要です (標準の MySql サーバーは Windows 認証をサポートしていません)。

于 2012-12-14T16:31:30.320 に答える
1

Mysql_old_password は一時的なもので、4.1.1 の直後に古い mysql クライアントが 4.1.1 より前の mysql サーバーに対して認証するために使用されるように設定されていました。

old_passwords=1mysql サーバーの my.ini でvar を設定すると、この機能が有効になります。

于 2012-12-04T17:32:44.113 に答える