0

こんにちは、PHP と MySQL は初めてです。LAMP でアプリケーションを作成し、ウェブサイト ホスティング会社の net4.com にアップロードしました。彼らはphpMyAdminを使用してデータベースに接続していますが、phpを使用してデータベースに接続し、データベースにクエリを実行しようとすると問題が発生します。リモートデータベースに接続するためにローカルマシンで正常に使用していた mysql_connect() 関数を使用しています。

$link = mysql_connect("118.67.248.12",  "username", "password");

ここで、「118.67.248.12」はデータベースが存在するサーバーの IP アドレスであり、次のエラーがスローされます。

「ユーザー 'Technosaar'@'118.67.248.190' の 1045 アクセスが拒否されました (パスワードを使用: はい)」

「118.67.248.12」の代わりに「localhost」を使用すると、次のエラーがスローされます。

「2002ターゲット マシンがアクティブに拒否したため、接続できませんでした。」

私はすでに "net4" のサポート担当者に電話をかけていますが、問題は解決していません。

4

2 に答える 2

0

後者(localhost)は、Webサーバーとデータベースサーバーが同じマシンで実行されていないため、機能していないと思います。

サーバーでパスワードが正しく設定されていることを確認しますか?これは私には認証エラーのように見えます。

于 2012-11-29T17:09:56.367 に答える
0

「1045 Access denied for user 'Technosaar'@'118.67.248.190' (using password: YES)」Technosaarは、Web サーバーからユーザーのアクセス権が失われていることを示唆しています。phpmyadmin にログインし、コマンドを入力します

show grants;

また

show grants for '<myuser'@'<host>';

のような行があるはずです

<mydatabase> に対する <privilege> を '<myuser>'@'<host>' に付与します

そこには、ユーザーに対して構成されているアクセス権が表示されます。Web サーバーがリストにない場合は、

grant all privileges on <mydatabase>.* to '<myuser>'@'<host>';

またはデータベースに必要な特権。

もちろん、適切なデータベース名、ユーザー名、および Web サーバー ホストを挿入します。

于 2012-11-29T17:44:59.303 に答える