これはポートの問題ではないと思います。リクエストは宛先に到達しています。 [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)
次の手順を実行することをお勧めします:
- スクリプトでの接続に使用できる専用ユーザーを作成します。
-
スクリプトのソースがMySQLと同じサーバーの場合。
CREATE USER '<user>'@'localhost' IDENTIFIED BY 'password'; GRANT ALL ON <database>.* TO '<user>'@'localhost';
-
接続が常に同じ場所からMySQLとは異なる場所から確立される場合は、コマンドラインで次の手順を実行します。
CREATE USER '<user>'@'<IP_address>' IDENTIFIED BY 'password'; GRANT ALL ON <database>.* TO '<user>'@'<IP_address>';
-
接続のソースが異なる場合は、次のコマンドを実行します。
CREATE USER '<user>'@'<IP_address>' IDENTIFIED BY 'password'; GRANT ALL ON <database>.* TO '<user>'@'%';
ドキュメント へのリンクは次のとおりです。 ご不明な点がございましたら