エックスサーバーでのmysql設定について
現在ローカルで開発(cakephp)をしておりますが、
エックスサーバーで公開しようとしますとデーターベースに接続できません。
中々問題解決できるサイトに出会えませんでしたので、恐れ入りますが
ご教授いただけますと幸いです。
■ローカル開発環境
・CentOS5.5
・mysql5.0.95
・cakphp2.2.5
■行き詰っているところ、解決したいこと
現在上記ローカル開発環境でデータベースを作成しています。(testdb)
この作成したデータベースを使いたいのですが、接続方法がわかりません。
まず、そもそもなのですが、可能なのでしょうか?
それとも新しくxserverパネルから新しくデータベースを作成しなければいけないのでしょうか?
■試したこと
>mysql grant all privileges on testdb.* to hogeuser@'mysqlipアドレス' identified by 'xxxxxxxx';
>mysql flush privileges;
database.phpの変更
class DATABASE_CONFIG {
public $default = array(
'datasource' => 'Database/Mysql',
'persistent' => false,
'host' => 'mysqlxx.xserver.jp',
'login' => 'hogeuser',
'password' => 'xxxxxx',
'database' => 'testdb',
'prefix' => '',
//'encoding' => 'utf8',
);
これですと、
Error: A Database connection using "Mysql" was missing or unable to connect.
The database server returned this error: SQLSTATE[28000] [1045] Access denied for user
とエラーが返ってきます。
また、Xserverパネルからmysqlユーザーを追加してみてdatabase.phpを編集してみましたが、
やはり同様のエラーで接続できません。
一体どのようにすれば接続できるのでしょうか?
恐れ入りますが、ご回答宜しくお願い申し上げます。
お礼
すいません やっていたら解決しました・・・ ルート権限でDB(sample)を作って GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON `sample`.* TO 'user'@'localhost' DBを書き換えてでできました; ありがとうございました!
補足
userが持っている権限はこのようになっていました GRANT USAGE ON *.* TO 'user'@'localhost' IDENTIFIED BY PASSWORD 'パスワード' GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE ON `test`.* TO 'user'@'localhost' userに追加の権限を与えるにはどうしたら良いのでしょうか? ルート権限での処理はできましたがuserで処理をしたいのです。 よろしくお願いします。