2012年11月21日水曜日

PHP5.3で MySQLの 16バイトの古いパスワードが使えない

【php】mysqlndを使うとMySQLに接続できない? at softelメモ
mysqlndを使う場合は、長いパスワードのユーザーを作るしかないですね。

「OK packet 1 bytes shorter than expected in ...」とか、
「mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf ...」とか言われてエラーになる。

素直にMySQLの設定変えて、必要に応じてパスワードもハッシュ後41文字ので登録しなおせばいいんだろうけど、諸事情によりそれをすっ飛ばしたい。
結局、他の環境で作った41文字のパスワードに変えて、 FLUSH PRIVILEGES; したらエラーが出なくなったのでMySQLの設定変更もせずに済んだ。
めでたしめでたし。

0 件のコメント:

ブログ アーカイブ

カテゴリー