2013-08-20 9 views
10

IやったのUbuntuでMySQLを使用するには、次の手順のために拒否されましたmy.cnfの:その後MYSQLのアクセスは、ユーザのルート '@ 'localhost' の

[client] 
user=root 
password=SecurePassword 
[mysqld] 
... 
default-time-zone = '+0:00' 

sudo service mysql start 
mysql -u root 
mysql> SHOW GRANTS FOR [email protected] 
+--------------------------------------------------------------------------------------------------+ 
| Grants for [email protected] | 
+--------------------------------------------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '[here is the Securepassword]' | 
+-------------------------------------------------------------------------------------------------+ 
1 row in set (0.00 sec) 

mysql> 
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; 

と私はエラーが表示されます。

Access denied for user 'root'@'localhost' (using password: YES)

+2

'ini'で' bind-address = localhost'を確認してください。 – user2339071

答えて

2

あなたが何をしたか絶対に正しかったが、私はそれが一つの小さな理由のために働いていないと思います。

あなたはこのような権限を付与しようとしているときは、identified by passwordを使用する必要があります。

mysql> GRANT ALL PRIVILEGES ONE `*`.`*` TO 'root'@'localhost' IDENTIFIED BY PASSWORD 
'*A4B6157319038724E3560894F7F932C8886EBFCF' WITH GRANT OPTION; 
+0

私は正しいとは思わない、 'IDENTIFY BY PASSWORD'は' PASSWORD( '') 'の値ではなくプレーンテキストのパスワードを期待しています – nrathaus

0

あなたは、このようなエラーメッセージが表示された場合:

Warning: mysql_connect(): Access denied for user: .... 

を、問題は、アプリケーションということですできないaccess the database。 、すべての

まず(アプリケーションの接続ファイル)あなたのdb-config.php内のデータベースの設定は、特にnameとあなたのMySQLユーザーのpassword、あなたdatabaseの名前、および正しいことを確認してください。これにはいくつかの原因が考えられますあなたのMySQLサーバーの名前。

独自のサーバーを実行している場合は、MySQLユーザーに適切な権限を与える必要があります。 MySQL rootユーザーとしてMySQLにログインし、次のコマンドを発行してください。

GRANT ALL PRIVILEGES ON database_name TO [email protected] IDENTIFIED BY 'password'; 
FLUSH PRIVILEGES; 
+0

質問の*特定の*問題に答える答えがあることに注意してください。どの言語、プラットフォーム、図書館などが使用されているかには細心の注意を払い、正確な問題の解決策を探してください。例えば;この質問はPHPについての** **まったくありません。 –

関連する問題