
「アクセスが拒否されました: ユーザー @ 'localhost' のデータベースへの誤ったアクセスを解決します」`
MySQL ユーザーはイライラするエラー メッセージに遭遇することがよくあります。ユーザー ''@'localhost' からデータベース '' へのアクセスが拒否されました。」この問題は、ユーザー権限または構成設定が正しくないことが原因で発生します。これを解決するには、次の手順に従います。
ユーザー資格情報の確認:
- MySQL ユーザーが $dbuser 変数で指定されていることを確認します。
- ユーザーが、で指定されたデータベースに対する適切なアクセス権限を持っているかどうかを確認してください。 $dbname.
ユーザー権限の付与:
- 次の SQL コマンドを使用して必要な権限を付与します:
Database_name.* に対するすべての権限を user_name@host_name に付与します; - Replace 「database_name」には実際のデータベース名を、「user_name」には $dbuser で指定したユーザーを指定します。
- ローカル マシンからのアクセスを許可するには、「host_name」を「localhost」として指定します。
]MySQL バインド アドレスの構成:
- 確認してくださいMySQL 構成ファイル (通常は my.cnf という名前) を「bind-address」設定に変更し、すべてのホストからの接続を受け入れるように変更します。
bind-address = 0.0.0.0 - MySQL サービスを再起動します。変更が有効になります。
更新コード:
- mysql_connect() 関数にユーザー名とパスワードの両方を含めるように PHP コードを変更します:
mysql_connect($dbhost, $dbuser, $dbpass) または die(mysql_error( ));
リモートを有効にするアクセス (必要な場合):
- リモート ホストからのアクセスを許可するには、MySQL サーバーがポート 3306 でリッスンしており、ファイアウォール ルールがそのポートでの接続を許可するように構成されていることを確認します。