ホームページ > php教程 > php手册 > PHP5 が Mysql5 に接続する際の認証プロトコルの問題

PHP5 が Mysql5 に接続する際の認証プロトコルの問題

WBOY
リリース: 2016-06-21 09:08:44
オリジナル
869 人が閲覧しました

mysql|php5|問題

MYSQL 4.1 以降、新しいユーザー認証プロトコルが採用され、古いクライアントでは認証プロトコルがサポートされていないというエラーが発生します。次の解決策が公式 Web サイトにあります。

1すべてのクライアント プログラムを 4.1 を使用するようにアップグレードします。 1 以降のクライアント ライブラリ。

クライアント ライブラリを更新します。これには、PHP 拡張ライブラリの更新が必要です。PHP では、古い API 用の拡張ライブラリは提供されなくなりました。

2 4.1 より前のクライアント プログラムでサーバーに接続する場合は、 4.1 より前の形式のパスワードがまだ残っているアカウント

以前に確立されたアカウントを使用して接続することは、新しい認証プロトコルで確立されたアカウントには機能しません

3 4.1 より前のクライアント プログラムでは、SET PASSWORD ステートメントと OLD_PASSWORD() 関数を使用して実行できます。 、UPDATE および FLUSH PRIVILEGES を使用します: mysql> UPDATE mysql.user SET Password = 'some_host' AND User = 'some_user';

を置き換えます。パスワード前の例で「newpwd」に使用したい場合、MySQL は元のパスワードを知ることができないため、新しいアカウントを選択する必要があります

これは、新しいアカウントを作成する良い方法です。古い暗号化プロトコル

4 古いパスワード ハッシュ アルゴリズムを使用するようにサーバーに指示します。

--old-passwords オプションを指定して mysqld を起動します。

この方法では、新しい認証プロトコルの利点を使用できません

5 古い形式を割り当てます。より長い 4.1 形式に更新された各アカウントのパスワードを次のクエリで識別できます: mysql> SELECT Host, User, Password FROM mysql.user

-> 16;

前述のように、クエリによって表示されるアカウント レコードごとに、ホストとユーザーの値を使用し、OLD_PASSWORD() 関数と SET PASSWORD または UPDATE を使用してパスワードを割り当てます。古いスタイルにアップグレードされました。







関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート