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

ユーザー'root'@'localhost'のアクセスが拒否されました(パスワードを使用:YES)-権限がありませんか?

    MySql 5.7。+で同じ問題が発生した場合:

    Access denied for user 'root'@'localhost'
    

    これは、MySql 5.7がデフォルトでソケットとの接続を許可しているためです。つまり、sudo mysqlで接続するだけです。 。 SQLを実行する場合:

    SELECT user,authentication_string,plugin,host FROM mysql.user;
    

    その後、あなたはそれを見るでしょう:

    +------------------+-------------------------------------------+-----------------------+-----------+
    | user             | authentication_string                     | plugin                | host      |
    +------------------+-------------------------------------------+-----------------------+-----------+
    | root             |                                           | auth_socket           | localhost |
    | mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
    +------------------+-------------------------------------------+-----------------------+-----------+
    4 rows in set (0.00 sec)
    

    ルートとパスワードでの接続を許可するには、コマンド:

    を使用してテーブルの値を更新します。
    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password';
    FLUSH PRIVILEGES;
    

    次に、selectコマンドを再度実行すると、変更されていることがわかります:

    +------------------+-------------------------------------------+-----------------------+-----------+
    | user             | authentication_string                     | plugin                | host      |
    +------------------+-------------------------------------------+-----------------------+-----------+
    | root             | *2F2377C1BC54BE827DC8A4EE051CBD57490FB8C6 | mysql_native_password | localhost |
    | mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
    | debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
    +------------------+-------------------------------------------+-----------------------+-----------+
    4 rows in set (0.00 sec)
    

    以上です。このプロセスは、sudo mysql_secure_installationを実行して完了した後に実行できます。 コマンド。

    mariadbの場合は、

    を使用します
    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('manager');
    

    パスワードを設定します。詳細については、 https://mariadb.com/kb/en/set-パスワード/



    1. SQL Select Distinct

    2. SQLServerログ配布とディザスタリカバリのインストールと構成-4

    3. `SqlDbType.Structured`を使用してNHibernateでテーブル値パラメーターを渡すことは可能ですか?

    4. タイムゾーン付きのHibernateタイムスタンプ