web-dev-qa-db-ja.com

MySQLは接続できません-アクセスが拒否されました(パスワードyesを使用)

11によって提供されたホスティングを使用していて、新しい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
?>

この投稿で提案されているように、次のことを実行しようとしました ユーザー 'someuser' @ 'localhost'のアクセスが拒否されました(パスワードを使用:YES)

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

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

編集-うまくいきました。サーバーに問題がありました。ホストに連絡し、彼らはそれを世話しました。返信ありがとうございます。

7
user1443519

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アカウントのパスワードに変更することをお勧めします。

8
user1104854

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

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

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

3
user786

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

mysql_select_db(SQL_DB)

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

この形で使ってみませんか-

$con = mysql_connect("Host name","username","password");
$db = mysql_select_db("database name",$con);
1
Mayo Watro

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

接続に使用したIPアドレスを提供してMySQLサーバー(リモートMySQL)へのアクセスを許可することで解決しました。

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

1