前の手順2と同じように進みます。つまり、セーフモードでmysqlデーモンを再起動します。
コマンドを発行します
select user,host,password from mysql.user where user='root';
次の前後の(ハッシュされたパスワード列の値の)比較のために、出力をテキストエディタにカットアンドペーストします。
各行について、host
に注意してください 桁。次の例では、2つの行があると想定しています。 1行に%
があります ホストとして、次はlocalhost
を持ちます
host
があった行ごとに バリエーションとして、1つのコマンドを発行します。したがって、上記の例では、次のように合計2つのコマンドを発行します。
SET PASSWORD FOR 'root'@'%' = PASSWORD('MyNewPassword');
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPassword');
実行
select user,host,password from mysql.user where user='root';
それを切り取ってテキストエディタに貼り付けます。パスワードハッシュの変更に注意してください。
デーモンをセーフモードからシャットダウンし、通常どおり再起動します。
MyNewPasswordを使用してrootとしてログインしてみてください
ここにいくつかのリンクがあります。 SETPASSWORD構文 用のもの 、およびGRANT構文 の次のステップ 。
この質問の狭い範囲、つまりログインの場合、助成金は必要ありません。ただし、データベースへの適切な付与がないと、select now();
のような単純なコマンドを除いて、サンドボックス化され、多くのことを実行できなくなります。
パスワードが変更された後、rootユーザーに権限がないことを示唆しているわけではありません。助成金は、通常のユーザーが確実にするために必要です。