2012-03-15 8 views
0

私はPHP Webサーバを分離し、MySQLデータベースを別のボックスに移動します。 AWS上の実際に2つのインスタンス。別のボックスにPHPサーバを持つMySQL認証と特権

新しいMySQLボックスにユーザーとして接続できますが、クエリは実行できません。

MySQLのオン

は:

CREATE USER 'username'@'ip address' IDENTIFIED BY 'password'; 
GRANT ALL ON dbname.* TO 'username'@'ip address' IDENTIFIED BY 'password'; 

**私が開こうとすると

検証済みユーザー

mysql> SELECT user, host, password FROM mysql.user; 
| username | ip address | *... | 

mysql> show grants for 'username'@'ip address' 
+-----------------------------------------------------------------------------------------------------------------+ 
| Grants for username'@'ip address                     | 
+-----------------------------------------------------------------------------------------------------------------+ 
| GRANT USAGE ON *.* TO 'username'@'ip address' IDENTIFIED BY PASSWORD '*...' | 
| GRANT ALL PRIVILEGES ON `dbname`.* TO 'username'@'ip address'              | 
+-----------------------------------------------------------------------------------------------------------------+ 

を制限するとの問題がなかったことを確認するために、すべてのテストのためにGRANTするように変更しますPHPのページがdbから情報を取得する

Invalid authorization specification: 1045 Access denied for user 
    'username'@'ip address' (using password: YES) 

すべてが同じボックスでうまく動作し、dbボックスにポートを開くまで、ユーザーがWebからdbサーバーに接続していることがわかりました。私は、資格情報を確認する際にMySQL認証がプロセスを実行することを理解していますが、これを追跡することができませんでした。

他にもやりたいことがありますか?

UPDATE

私はそれを作成したように、この新しいデシベルボックスには、my.cnfファイルを持っていなかった、うまくMySQLの再起動。 bind-address = ip addressを追加すると、MySQLが起動せず、Starting MySQL... ERROR! The server quit without updating PID file (...)のエラーが発生します。

答えて

0

ユーザに付与された特権の後には、FLUSH PRIVILEGESを使用してください。

このプロセスを完了するには、FLUSH権限が必要です。

〜K

+0

はい、私はそうしましたが、それは問題が解決しない – enfield

+0

はあなたのMySQLdbボックスにウェブサーバあなたから端子を介して接続することができます言及している必要があります: - mysqlの-udbuser -p -hYOUR_DB_IP置き換えますあなたの詳細とdbuser&YOU_DB_IP –

関連する問題