7

私は eleven 2 によってホスティングを提供されており、新しい MySQL ユーザーを作成し、リストされているすべてのアクションにアクセスできるようにしました。

次のエラーが表示されます

Warning: mysql_connect() [function.mysql-connect]: Access denied for user '(username is here, removed for posting)' (using password: YES) in /home/.../public_html/config.php on line 10

ここに私の設定ファイルがあります

//connection details have been removed for posting purposes

<?php

 define('SQL_SERVER',''); // Database Server
 define('SQL_USER',''); //  User
 define('SQL_PASS',''); //  Password
 define('SQL_DB',''); //  database



 mysql_connect(SQL_SERVER,SQL_USER,SQL_PASS) or die("Error: ".mysql_error()); // Connection to the server
 mysql_select_db(SQL_DB) or die("Error: ".mysql_error()); // Connecting to the database
?>

この投稿Access denied for user 'someuser'@'localhost' (using password: YES)で提案されているように、次のことを試みました

GRANT ALL PRIVILEGES ON databasename.* TO 'bookorama'@'%' IDENTIFIED BY 'yourpassword';
FLUSH PRIVILEGES;

しかし、「#1044 - ユーザーのアクセスが拒否されました」というエラーが表示されました。CPanel にログインしてデータベース ユーザーをチェックアウトすると、ログインしようとしたユーザーが表示されるので、なぜ機能しないのか混乱しています。

編集 - 動作するようになりました。サーバーに問題がありました。ホストに連絡し、彼らはそれを処理しました。返信ありがとうございます。

4

4 に答える 4

8

私はCpanelに関するこの接続情報に出くわしましたhttp://www.inmotionhosting.com/support/community-support/databases/1045-access-denied-for-user-mysql-error

cPanelのユーザー名とパスワードを使用して、データベース(およびcPanel)に接続できます。cPanelのユーザー名とパスワードを使用してデータベースに接続している場合は、cPanelのパスワードをリセットして、正しいユーザー名とパスワードを使用していることを確認できます。

データベースにアクセスするために特別にMySQLのユーザー名とパスワードを設定する場合は、phpスクリプトで正しいユーザー名を使用していることを確認する必要があります。たとえば、MySQLのユーザー名は常に次の形式です。

cpanel-username_mysql-username

cPanelのユーザー名がuserna5で、データベースのユーザー名をdbuser1として作成した場合、実際のデータベースのユーザー名は次のようになります。

userna5_dbuser1

一時的に、疑問を解消するために、データベースのパスワードをCpanelアカウントのパスワードに変更することをお勧めします。

于 2012-09-28T11:34:17.310 に答える
3

通常、mysqlのパスワードを設定しない限り、パスワードフィールドは必要ありません。

mysql_connect( "hostname"、 "username"、 "")を使用できます

ただし、mysqlのパスワードを設定している場合は、接続中にパスワードを書き込む必要があります。それでも機能しない場合は、ユーザー名とパスワードを確認する必要があるかもしれません。

于 2012-09-28T04:34:26.047 に答える
1

あなたのSQLサーバーは何ですか?一部の企業は、セキュリティ上の目的でサーバー名をローカルホストから別のものに変更します-まあ、ユーザーのアクセスが拒否されたと言っている場合、それは間違ったデータベースに接続している可能性がありますか? あれは

mysql_select_db(SQL_DB)

正しいデータベース名を使用していますか? 同じユーザー名とパスワードで SQL アカウントにログインできますか? SQL のルート アカウントを使用しようとしても問題が解決しない場合は、スーパー管理者がローカル コンピューター上にいるか、専用サーバーを使用していることを願っています。

こんな形で使ってみませんか~

$con = mysql_connect("host name","username","password");
$db = mysql_select_db("database name",$con);
于 2012-09-28T04:06:30.350 に答える
1

私は同じ問題を抱えていました.2つの異なるWebサーバー間で接続しようとしていました. 同じサーバーで PHP スクリプトを使用すると接続は確立されますが、他の Web サーバー (Web ホスティング) から同じスクリプト ファイルを使用すると、このエラーが発生します。

以前接続していた場所からのIPアドレスを提供して、MySQLサーバー(リモートMySQL)へのアクセスを許可することで解決しました。

また、ドメインを使用しましたが、ドメイン名が機能しませんでした。また、CPanel とそれ自体の MySQL ユーザーの両方が MySQL サーバーに接続できます。あなたにも役立つことを願っています。

于 2013-09-18T06:27:24.810 に答える