2

asp.net経由でMYSQLデータベースに接続する必要がありました。MySQLコネクタを使用してデータベースに接続していますが、これを実行しているときに次のエラーが発生します。ここに画像の説明を入力してください

古いパスワードによる認証はサポートされなくなりました。4.1スタイルのパスワードを使用してください。
4

2 に答える 2

5

MySQL 4.1以降では、以前のバージョンと互換性のない新しいプロトコルを使用しています。そのため、サーバーを以前のバージョンから4.1以降にアップグレードすると、認証エラーメッセージが表示されます。

バージョン4.1の前後で両方のクライアントを使用してデータベースに接続する必要がある場合は、2つのパスワードを保存しておく必要があります。1つは古い方法で、もう1つは新しい方法です。

次を使用して、ユーザーのパスワードを新しい方法に設定できます。

SET PASSWORD for <username> = PASSWORD('new password')
SET PASSWORD FOR 'steve'@'10.15.2.67' = PASSWORD('my secure password');

必要に応じて、以下を使用して古い方法でパスワードを設定することもできます。

SET PASSWORD for <username> = OLD_PASSWORD('new password')
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password');

MySQLマニュアルには、プロセスの詳細を説明するすばらしいページがあります。

4.1より新しい場合でも、サーバーで古いパスワード方式を使用することはできますが、これはお勧めしません

これを行うには、-old-passwordsオプションを使用してサーバーを起動できます。

したがって、サーバーが更新され、古いクライアントを使用している場合、またはクライアント(現在は新しいパスワードシステムを使用している)を更新し、4.1未満のサーバーに接続している場合

于 2013-03-08T14:13:31.590 に答える
0

わかりましたが、これを行う権限がない場合は、共有ホスティング環境にいるという理由だけで次のようになります。

SET PASSWORD for <username> = OLD_PASSWORD('new password')
SET PASSWORD FOR 'steve'@'10.15.2.67' = OLD_PASSWORD('my secure password');

あなたは何ができますか?回避策が見つかりませんでした。ホスティングプロバイダーが警告なしにmysql構成を変更しました...解決策も提供していません。

未完了の解決策web.configに古いコネクタを使用させることができます。動作しているように見えますが、mysqlエラーが発生します...したがって、コネクタのどこかにバグがあると思います。

于 2016-04-11T10:27:03.130 に答える