パスワードをリセットするためのMysqlデータベースの簡単なクエリはどのように見えるでしょうか
私のサンプルコードがありますが、動作せず、動作させる方法がわかりません
SELECT `User`, `Host`, Length(`Password`) FROM mysql.user
UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username';
そしてそれはうまくいきません。
選択する必要はありません。更新のみ。
update mysql.user set password=PASSWORD("NEW-PASSWORD-HERE") where User='USER';
問題は、select ステートメントの後にセミコロンがないことが原因である可能性があります。
これを試して:
SET PASSWORD FOR 'USER'@'HOST' = PASSWORD('PASSWORD');
または、テーブルを直接更新する場合は、特権をフラッシュすることを忘れないでください。
UPDATE mysql.user SET Password = PASSWORD('PASSWORD')
WHERE user = 'USERNAME' AND Host='HOST';
FLUSH PRIVILEGES;
最後に、GRANT を使用する 3 番目の方法があります。
GRANT USAGE ON *.* TO 'USER'@'HOST' IDENTIFIED BY 'PASSWORD';