
現在ローカルで開発(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を編集してみましたが、
やはり同様のエラーで接続できません。
一体どのようにすれば接続できるのでしょうか?
恐れ入りますが、ご回答宜しくお願い申し上げます。
No.3ベストアンサー
- 回答日時:
>■解決策1
>開発環境で構築したデータベースがあり、xserverパネルで作成したデータベースにインポートする。
>■解決策2
>開発環境で作ったデータベースにxserverから接続する。(これは無理っぽいです)
解決策1です。開発環境からエクスポートして本番サーバのデータベースにインポートします。
自分の開発環境のデータベースをネット上に公開するなんて無茶をしてはいけません。ポートを開けたりしたらセキュリティの設定だけでも大変です(まして開発環境を24時間365日起動しっぱなしにはできないですよね)。
早速のご回答ありがとうございます。
やはり解決策2は無謀ですよね。。
ご教授いただき誠にありがとうございます。
ということは、通常大半の方は、解決策1をとるということでよろしいでしょうか?
以上、宜しくお願いします。
No.4
- 回答日時:
>ということは、通常大半の方は、解決策1をとるということでよろしいでしょうか?
通常とか大半とかといった形容は要りません。それ以外は「あり得ない」です。
たまに「あり得ない方法」を選択してドツボに嵌まって楽しんでいる開発者もいないわけではないでしょうが、そういう『例外』をカウントしても意味がありません。
No.2
- 回答日時:
質問者さんの環境がよくわからないのだけど
localhostに対して処理しないで参照サーバーを別にもちたいの?
セキュリティの問題で当該ポートに制限がかかっていたりしませんか?
ご回答ありがとうございます。
説明不足で申し訳ありません。
>localhostに対して処理しないで参照サーバーを別にもちたいの?
私の勉強不足で参照サーバーをよく理解できておりませんが、開発環境で折角作ったデータベースをそのままlocalで利用したいと考えているところです。
mysqlのポートは開放したのですが、やはり上記同様のエラーとなります。
通常、開発環境で作ったデータベースを本番環境で使うにはどのような手順になるのでしょうか?
恐れ入りますが、ご教授いただけますと幸いです。
No.1
- 回答日時:
>それとも新しくxserverパネルから新しくデータベースを
>作成しなければいけないのでしょうか?
一般的にレンタルサーバではサーバ側で用意しているコンパネから行うことになっています。他のユーザに悪影響を与えかねない権限を制限していますので。なので「データベースの追加」や「ユーザーの追加」は(Xserverであれば)サーバパネルから行ってください。
https://www.xserver.ne.jp/manual/man_db_setting. …
エラーメッセージ(Access denied for user )は、ユーザー名の誤りか、データベースへのアクセス権の設定もれだと思われます。コンパネに「アクセス権設定」があるのは珍しいですね。普通はデータベースとユーザが自動的に紐付けられることが多いです。
ご回答ありがとうございます。
まず、1点追記になりますが、サーバーパネルで作ったデータベースには接続できます。
しかし、既にあるデータベースを利用したい場合でも
コンパネから同じものを新しく作らなければいけないのでしょうか?
通常の手順がわからないためご教授いただいけないでしょうか?
私の中で解決策はいくつかありますが、通常はどのように行うのかも確認したいと思っております。
■解決策1
開発環境で構築したデータベースがあり、xserverパネルで作成したデータベースにインポートする。
■解決策2
開発環境で作ったデータベースにxserverから接続する。(これは無理っぽいです)
以上、宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpのheader("Location:#pos")...
-
PHP8でWarning:Undefined varia...
-
フォームで戻った際に入力済み...
-
csvファイルについて教えて下さ...
-
セッション関数を使わずにファ...
-
composerをインストールしたい...
-
SplFileObject を利用したとき...
-
PHPSpreadsheetによる書き出し...
-
phpの問い合わせフォームを作っ...
-
marginの値でマイナス値を設定...
-
submitで思うようにページが遷...
-
HTML PHP ラジオボタンのイベント
-
php でqiitaのサイトにあったフ...
-
PHPの勉強してます。 配列のと...
-
BASIC認証のフォームをデザイン...
-
アップロードファイルを表示す...
-
複数のパソコンの中の1つのパソ...
-
返信機能のツリー構造の深さを...
-
PHPについて。
-
PHPからCSVをアップロード後、m...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
お名前comのPHPとmysqlの接...
-
XAMPPでSQL文を流すとフリーズ...
-
データベースへの持続的接続
-
エックスサーバーでのmysql設定...
-
レンタルサーバでPHPからMySQL...
-
PHPのWARNINGをcatchするには
-
MySQLとPHPで日本語が文字化け...
-
mysql文字化けについて
-
PHP+MySQL+phpMyAdmin パスワ...
-
windwsXP環境下でapache2.2、ph...
-
localhostにリダイレクトされて...
-
XOOPSのサーバアクセス設定につ...
-
mysql_connectについて
-
ネット上の無料サーバースペー...
-
MySQLから送られて来たデータの...
-
My SQL の文字化け
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
FTPコマンドでディレクトリごと...
おすすめ情報