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

'user'@'localhost'のアクセスが拒否されました

    これはポートの問題ではないと思います。リクエストは宛先に到達しています。 [email protected] コマンドライン(mysql -u root -p)からログインすると機能します )しかし、コードとの接続に使用したくありません。接続を確立するときは、host=localhostを使用する必要があることに注意してください またはhost=127.0.0.1 明示的に。 (同じサーバー上でも)IPアドレスを使用すると、アクセスが拒否されます。

    [[email protected] ~]# mysql --host=127.0.0.1 --protocol=TCP -u root -p
    Enter password:
    mysql>
    [[email protected] ~]# mysql --host=192.168.1.10 --protocol=TCP -u root -p
    Enter password:
    ERROR 1045 (28000): Access denied for user 'root'@'hostname' (using password: YES)
    

    次の手順を実行することをお勧めします:

    1. スクリプトでの接続に使用できる専用ユーザーを作成します。
    2. スクリプトのソースがMySQLと同じサーバーの場合。

      CREATE USER '<user>'@'localhost'
      IDENTIFIED BY 'password';
      GRANT ALL
      ON <database>.*
      TO '<user>'@'localhost';
      
    3. 接続が常に同じ場所からMySQLとは異なる場所から確立される場合は、コマンドラインで次の手順を実行します。

      CREATE USER '<user>'@'<IP_address>'
      IDENTIFIED BY 'password';
      GRANT ALL
      ON <database>.*
      TO '<user>'@'<IP_address>';
      
    4. 接続のソースが異なる場合は、次のコマンドを実行します。

      CREATE USER '<user>'@'<IP_address>'
      IDENTIFIED BY 'password';
      GRANT ALL
      ON <database>.*
      TO '<user>'@'%';
      

    ドキュメント へのリンクは次のとおりです。 ご不明な点がございましたら




    1. 任意のテーブルの現在のAUTO_INCREMENT値を取得します

    2. OracleSQLでGROUPBY句で列エイリアスを使用できないのはなぜですか。

    3. MySQLとは何ですか? –データベース管理システムの概要

    4. 別の12cオプティマイザーホワイトペーパー