MySQL Server 8.0 の PASSWORD 関数の問題のトラブルシューティング
MySQL Server バージョン 8.0.12 で PASSWORD 関数を実行しようとすると、特定のシナリオで問題が発生する可能性があります。エラーを引き起こします。この記事は、そのような問題に対処し、実行可能な解決策を提供することを目的としています。
エラー コード 1064
エラーが発生した場合は、「エラー コード: 1064。 SQL 構文...」というメッセージは、クエリの構文に問題があることを示しています。具体的には、PASSWORD 関数の構文が MySQL Server バージョン 8.0 で変更されました。
新しい構文
MySQL Server 8.0 では、PASSWORD 関数は非推奨になり、別の関数に置き換えられました。ハッシュメカニズム。互換性を維持するには、次の構文を使用して、以前のバージョンの PASSWORD 関数によって生成されたハッシュと同等のハッシュを生成する必要があります:
CONCAT('*', UPPER(SHA1(UNHEX(SHA1('my_password')))))
例
提供されたクエリでは、「pwd = PASSWORD('2018')" は、"pwd" 列と静的パスワードの比較を表します。新しい構文を使用してパスワード「2018」を持つユーザーを取得するには、クエリを次のように変更します:
SELECT * FROM users WHERE login = 'FABIO' AND pwd = CONCAT('*', UPPER(SHA1(UNHEX(SHA1('2018'))))) LIMIT 0, 50000
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3