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

エラー1044(42000):すべての権限を持つ「root」のアクセスが拒否されました

    まず、ログインしているユーザーを次のように特定します。

     select user();
     select current_user();
    

    最初のコマンドの結果は、ログインしようとしたものであり、2番目のコマンドは実際に接続したものです。 [email protected] mysqlで。

    Grant_priv [email protected] 。確認方法は次のとおりです。

    mysql> SELECT host,user,password,Grant_priv,Super_priv FROM mysql.user;
    +-----------+------------------+-------------------------------------------+------------+------------+
    | host      | user             | password                                  | Grant_priv | Super_priv |
    +-----------+------------------+-------------------------------------------+------------+------------+
    | localhost | root             | ***************************************** | N          | Y          |
    | localhost | debian-sys-maint | ***************************************** | Y          | Y          |
    | localhost | staging          | ***************************************** | N          | N          |
    +-----------+------------------+-------------------------------------------+------------+------------+
    

    [email protected] のGrant_privがNに設定されていることがわかります。 これはYである必要があります。これを修正する方法は次のとおりです。

    UPDATE mysql.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
    FLUSH PRIVILEGES;
    GRANT ALL ON *.* TO 'root'@'localhost';
    

    再度ログインしましたが、問題ありませんでした。



    1. MySQL-既存のデータを壊さずにデータベース内の既存の列のvarcharサイズを増やす方法は?

    2. MySQL列をAUTO_INCREMENTに変更します

    3. デスクトップアプリケーションの自動テスト:利便性とフレームワークの概要

    4. MySQLのWebサービス/APIに接続しますか?