MAMPからサーバーへの引っ越しが出来ない

2015年12月12日 at 16:48

MAMP3.1で作成したデータをレンタルサーバー(さくらインターネット)に引っ越したのですが、サイトを立ち上げるとSQLSTATE[HY000] [2002] No such file or directoryのエラーが出て画面が表示されません。login画面も同様です。引っ越しの方法に誤りがあるのでしょうか。ご教授ください。引っ越しの手順は以下のような内容です。

(1)MAMP側
①phpmyadminを使ってデータベースのエクスポートを行いSqlファイル作成。
②MAMP/htdocs/aaa以下のファイルを圧縮。(aaaは今回の引っ越しフォルダ)

(2)サーバー側
①データベースの作成。(使用済みのDBなのでファイルを全削除)
②MAMP側で作成したsqlファイルを実行。(正常終了)
③圧縮したファイルをサーバーに転送。
④サーバー内の該当フォルダ(aaa)に解凍。

おおざっぱですが、こんな感じです。
どこか気になる点があればご指摘いただけますでしょうか。よろしくお願いします。

タグ:

Re: MAMPからサーバーへの引っ越しが出来ない

2015年12月12日 at 18:42
引っ越し先のサーバーでDBに接続できていないのかと思います。

concrete5のバージョンによって、設定ファイルが異なりますが、
5.7系でしたら、
/application/config/database.php
に記載されている、接続情報がサーバー環境と合っているか、ご確認されてみてはいかがでしょうか?
 

Re: MAMPからサーバーへの引っ越しが出来ない

2015年12月13日 at 12:01
そうですね。database.phpがMAMP環境のままでした。
サーバー環境に修正して再度、実行すると、今度は以下のエラーが出てしまいました。

気になる点としては、MAMPで付けていたデータベース名とサーバー上のデータベース名が違っていますが、それも関係するのでしょうか?

An exception occurred while executing 'select pkgID, pkgName, pkgIsInstalled, pkgDescription, pkgVersion, pkgHandle, pkgDateInstalled from Packages where pkgIsInstalled = ? order by pkgID asc' with params [1]: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'mochimo_concrete03.Packages' doesn't exist
 

Re: MAMPからサーバーへの引っ越しが出来ない

2015年12月13日 at 18:58
database.phpを修正される際に、データベース名も修正頂いておりますでしょうか?

実行された手順ですと、
> ①データベースの作成。(使用済みのDBなのでファイルを全削除)
> ②MAMP側で作成したsqlファイルを実行。(正常終了)

上記②のSQL文中にデータベースを生成するSQLが入っている可能性があります。
(自分は、phpmyadminを使用した事がないので、どう設定すれば、データベースを生成するSQLが記述され/されないか?解りませんが、ご確認されてみては如何でしょうか?)
もし、データベースを生成する一文が入っている場合は、①で作成したデータベースにMAMPで構築した際のデータがImportされていない可能性がありますので、合わせてご確認下さい。

もし、①で作成したデータベースにImportされていない場合は、
②の「MAMP側で作成したsqlファイル」中のSQL文を①で作成したデータベース名に置換する必要があります。
※SQLファイル中にcreate database データベース名;のような箇所がある場合
それらの生合成を取ってから、データのImportを実施する必要があります。


また、上記とは別に、Packageやadd-onを使用されている場合、インストーラーによってテーブルが自動生成される場合があります。
記載頂いているメッセージを見ると、それらのインストーラーが生成した「"mochimo_concrete03"というテーブルが存在していない」
というエラーと成っていますので、それらのテーブルが正しくExportされているか?(SQLファイルで確認)や、Importされたか(phpmyadmin等で)確認されてみては如何でしょうか?
 

Re: MAMPからサーバーへの引っ越しが出来ない

2016年3月30日 at 14:36
過去スレッドに失礼します。
MAMPではないですが、ローカルからの引っ越しの際に同じ?エラーが出たので
自分のときの解決方法を共有しておきます。

ローカル側のテーブル名が全て小文字になっていてそれをそのままリモートサーバーへインポートしたのが原因でした。

解決策は下記の2パターンが考えられます。
・ローカル側のテーブル名も大文字と小文字が使えるようにする
・リモート側にインポートしたテーブル名を変更する

自分の場合はこちらを参考にテーブル名を変更しました。

SQLの実行は自己責任でお願いします。
 

データベースのテーブル名を小文字だけから大文字に戻す無料アドオン

2016年3月30日 at 14:56
あー。

SQL を一発で作ってくれる無料アドオンがあります。
http://www.concrete5.org/marketplace/addons/database-migration

これが吐き出す、SQL 文を phpmyadmin や mysqlbenchなどで実行すると一発で元に戻せます。
 

Re: MAMPからサーバーへの引っ越しが出来ない

2016年3月30日 at 15:03
なんと!アドオンができてたんですね〜
次なにかあったら使ってみたいと思います。
ありがとうございます!