クライアントは認証プロトコルをサポートしていません。 ソリューション_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:27:19
オリジナル
969 人が閲覧しました

来源: http://dev.mysql.com/doc/mysql/en/Old_client.html
MySQL 4.1 以降では、古いクライアントで使用されるものとは互換性のないパスワード ハッシュ アルゴリズムに基づく認証プロトコルが使用されます。サーバーを 4.1 にアップグレードすると、古いクライアントでサーバーに接続しようとすると、次のメッセージが表示されて失敗することがあります。shell> mysqlClient はサーバーが要求した認証プロトコルをサポートしていません。 MySQL クライアントのアップグレードを検討してください
この問題を解決するには、次のいずれかの方法を使用する必要があります: 4.1.1 以降のクライアント ライブラリを使用するようにすべてのクライアント プログラムをアップグレードします。 4.1 より前のクライアント プログラムを使用してサーバーに接続する場合は、4.1 より前の形式のパスワードが残っているアカウントを使用してください。 4.1 より前のクライアント プログラムを使用する必要がある各ユーザーのパスワードを 4.1 より前のスタイルにリセットします。これは、SET PASSWORD ステートメントと OLD_PASSWORD() 関数を使用して実行できます: mysql> SET PASSWORD FOR -> some_user@some_host = OLD_PASSWORD(newpwd);または、UPDATE および FLUSH PRIVILEGES を使用します: mysql> UPDATE mysql.user SET Password = OLD_PASSWORD (newpwd) -> WHERE Host = some_host AND User = some_user;mysql> FLUSH PRIVILEGES;前述の例の ``newpwd'' を、使用するパスワードに置き換えます。 MySQL は元のパスワードが何であったかを知ることができないため、新しいパスワードを選択する必要があります。古いパスワード ハッシュ アルゴリズムを使用するようにサーバーに指示します。 --old-passwords オプションを指定して mysqld を起動します。パスワードが長い 4.1 形式に更新された各アカウントに、古い形式のパスワードを割り当てます。これらのアカウントは次のクエリで識別できます: mysql> SELECT Host, User, Password FROM mysql.user -> WHERE LENGTH(Password) > 16;クエリによって表示されるアカウント レコードごとに、ホストとユーザーの値を使用して、前述のように、OLD_PASSWORD() 関数と SET PASSWORD または UPDATE を使用してパスワードを設定します。


パスワードのハッシュと認証の詳細については、セクション 5.5.9 MySQL 4.1 のパスワード ハッシュを参照してください。
来源:http://dev.mysql.com/doc/mysql/en/Old_client.html

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531877.html技術記事来源: http://dev.mysql.com/doc/mysql/en/Old_client.html MySQL 4.1 以降では、使用されているものと互換性のないパスワード ハッシュ アルゴリズムに基づく認証プロトコルが使用されています...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート