4

私は何かが欠けているに違いない。

選択のみのトランザクション用にデータベース ユーザー アカウントを設定したいのですが、mysql では、ユーザー アカウントの作成時にパスワードのハッシュ方式を選択できません。

これは失敗します:

GRANT SELECT ON myDB.* TO 'selectuser'@'localhost' 
IDENTIFIED BY hash('sha256', 'salted-myfakelongrandompasswordstring');

エラー 1064 (42000): SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の 'hash('sha256', 'salted-myfakelongrandompasswordstring')' 付近で使用する正しい構文を確認してください。

これは合格します:

GRANT SELECT ON myDB.* TO 'selectuser'@'localhost' 
IDENTIFIED BY 'salted-myfakelongrandompasswordstring';

phpinfo ページを確認したところ、sha256 ハッシュ エンジンは既に有効になっています。

mysql のデフォルトのハッシュ アルゴリズムを変更する方法はありますか、それとも SQL の構文が間違っているだけですか?

4

3 に答える 3