アプリケーションの健全性チェックスクリプトを記述します。テストの1つは、MySQLに「パスワード」のあるuser @ Hostが存在することを確認することです。単純なネイティブハッシュパスワードを使用しています。 MySQL5.7にはPASSWORD()
関数があり、これを使用して_mysql.user
_をクエリし、ユーザーが存在し、パスワードが一致することを確認できます。 MySQL8.0以降でこれを達成する方法はありますか? MySQL 5.7のPASSWORD()
のドキュメントページには代替手段がなく、関数はMySQL 8.0で削除されています。
ユーザーをもう一度追加することもできますが、スクリプトではユーザーが見つからないというイベントを認識し、予期される資格情報で登録する必要があると思います。
必ずしもパスワードハッシュを生成する必要はないことに注意してください。指定したユーザー/パスワードが存在することを確認したいだけです。これは自動化する必要があるため、「ser/password from Host machine」でログインを試行するなどのソリューションは、私がホストマシン
実際、MySQL(実際にはOracle)が言及していない代替案があります。
Apr 22, 2015
に戻って、投稿した パスワード機能のアルゴリズムこれがアルゴリズムです
SET @plaintextpassword = 'whatever password you want';
SELECT CONCAT('*',UPPER(SHA1(UNHEX(SHA1(@plaintextpassword)))));
私は最初、PalominoDBという会社のブログからこれを学びました。彼らは彼らの名前をクロウタドリに変えた。ピティアンはクロウタドリを購入した。 Pythianは現在、このアルゴリズムをブログの投稿として持っています: MySQLのハッシュアルゴリズムPASSWORD()