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

ユーザーroot@localhostのアクセスが拒否されました

    ユーザーが存在し、blahblahの場合、次の2行が失敗するようにします。 今のところ重要ではありません:

    create user 'root'@'localhost' identified by 'blahblah';
    create user 'root'@'127.0.0.1' identified by 'blahblah';
    

    助成金を出します:

    grant all on *.* to 'root'@'localhost';
    grant all on *.* to 'root'@'127.0.0.1';
    

    パスワードを覚えやすいものに変更します:

    set password for 'root'@'localhost' = password('NewPassword');
    set password for 'root'@'127.0.0.1' = password('NewPassword');
    

    ルートユーザーの数を確認してください。実際のユーザーは、ユーザーとホストの組み合わせです。パスワードはハッシュ化されて表示されます:

    select user,host,password from mysql.user where user='root';
    

    または

    select user,host,authentication_string from mysql.user where user='root';
    

    上記の2つ目は、MySQL5.7用です

    上記の2人以上のユーザーがいる場合は、次のような他のユーザーを削除します。

    drop user 'root'@'%';   -- this is the wildcard hostname, can be a security risk
    drop user 'root'@'::1';
    

    まだ2つしかありませんか?そうだといい。上記の選択したstmtsを使用して確認してください。

    rootを使用してユーザーアプリを接続しないでください。ルートはメンテナンス専用です。 サーバー側のコードであるか、管理者が実行しているのかは関係ありません。保護されていないコードや有害なステートメントが挿入されていないコードは、rootとして実行されます。 それが理由です。



    1. 同時失敗後に電子メールを受信するための最良の方法(sql-トリガー-アプリケーション)

    2. php artisanの移行エラー:nodenameまたはservnameが提供されているか、不明です

    3. MySQLにバイナリデータを保存する方法

    4. JPA結合列名を指定するにはどうすればよいですか?