ホームページ > バックエンド開発 > PHPチュートリアル > パスワード変更後にログインできないmysql5について_PHPチュートリアル

パスワード変更後にログインできないmysql5について_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:01:39
オリジナル
862 人が閲覧しました

まず、以下の説明は Win システムに限定されていますが、Mysql は 4.1.1 以降、ユーザー パスワードの形式を 16 桁から 41 桁に増やし、新しい検証を採用しています。ただし、4.1 より前では、クライアント プロトコルはこのメソッドをサポートしていないため、ログインできなくなります。パスワードが正しい場合でも、ユーザーは正常にログインできず、次のようなプロンプトが表示されます:
#1250 - クライアントはログインします。サーバーによって要求された認証プロトコルをサポートしていません。MySQL クライアントのアップグレードを検討してください。
C:mysql in>mysql -uroot
コマンドは help; または 'h' で終わります。 c' バッファをクリアします

selectpassword('aa'); -------------+
パスワード('aa') +---------- ---- ------------------------+
*DEE59C300700AF9B586F9F2A702231C0AC373A13 |
+---------- - -----------------------------+
1 row in set (0.00 sec)

mysql>
上からパスワードの結果は、以前は 16 桁だった '*' で始まる 41 桁の文字列を返します。

Mysql 公式 Web サイトには 2 つの解決策が記載されています

1. 新しいクライアント API を使用します
2. サーバーに使用を強制します。古いパスワードスキーム

私は最初の方法、mysql5.0 から libmysql.dll を php の拡​​張ディレクトリにコピーし、php 自体に付属する libmysql.dll を置き換えるという方法を試しましたが、結果は Php がそのロードを要求するという残念なものでした。 php_mysql.dll が失敗しました: PHP 警告: PHP スタートアップ: ダイナミック ライブラリ 'c:/php5/ext/php_mysql.dll' をロードできません - 指定されたプログラムが見つかりません。その後、mysql_drop_db() 関数が dll の新しいバージョンにないことがわかりました:( PHP または mysql が更新された dll をリリースするまで待たなければなりません。

最初の方法は機能しないので、 2 番目の方法は、 mysql の公式 FAQ に記載されているように、 -old-password パラメーターを追加する必要があります。まず、コマンド ラインで mysql を起動してみます。
c:mysql in>mysqld-nt -old-password

Run in別のウィンドウ
C:mysql in> ;mysql -uroot
MySQL モニターへようこそ コマンドは ; または g で終わります
サーバーのバージョン: 5.0.0-alpha-nt への MySQL 接続 ID は 540 です。


http://www.bkjia.com/PHPjc/631119.html

www.bkjia.com

tru​​e

http://www.bkjia.com/PHPjc/631119.html

技術記事まず最初に説明しますが、以下の説明は Win システムに限定されており、他のシステムは試していません。Mysql は 4.1.1 以降、ユーザー パスワードの形式を変更し、16 桁から 41 桁に増やし、新しい検証を採用しました。 ..
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート