sql >> データベース >  >> RDS >> Mysql

Linuxターミナルでセーフモードを使用してパスワードを設定した後でも、MySqlrootユーザーにアクセスできません

    前の手順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ユーザーに権限がないことを示唆しているわけではありません。助成金は、通常のユーザーが確実にするために必要です。




    1. MariaDB10.6の新機能

    2. SQLで複雑なクエリを作成する方法

    3. SQLServerでのIN句の制限

    4. ONDUPLICATEKEYを使用したプリペアドステートメント