アプリケーション固有の目的で PASSWORD()
を使用してパスワードを生成するアプリケーションの場合、MySQL バージョン 4.1 以降にアップグレードすると互換性の問題が生じる可能性があります。PASSWORD()
は MySQL アカウントのパスワード管理専用のものであるため、アプリケーションではこれを行うべきではありません。ただし、一部のアプリケーションではそれら固有の目的で PASSWORD()
を使用しています。
4.1 より前の MySQL バージョンを 4.1 以降にアップグレードして、長いパスワードハッシュを生成する条件でサーバーを実行すると、アプリケーション固有のパスワード用に PASSWORD()
を使用するアプリケーションは破損します。そのような状況で推奨される一連のアクションは、アプリケーションを変更して、ハッシュ値を生成する SHA2()
、SHA1()
、MD5()
などの関数を使用するようにすることです。これが不可能な場合は、古い形式の短いハッシュを生成するために提供されている OLD_PASSWORD()
関数を使用することができます。ただし、OLD_PASSWORD()
は将来サポートされなくなる可能性があることに留意してください。
サーバーが old_passwords=1
を指定して実行している場合、サーバーは短いハッシュを生成し、OLD_PASSWORD()
は PASSWORD()
と同等になります。
MySQL データベースをバージョン 4.0 以前からバージョン 4.1 以降にマイグレーションを実行する PHP プログラマは、MySQL and PHPを参照してください。