サポート » 使い方全般 » サイト複製時にSQLをインポートできない

  • 解決済 beginer2012

    (@beginer2012)


    サイトを複製してデザインの変更等試そうとしましたが、SQLのインポートができません。
    コピーサイトは立ち上がるものの、データが一切入っていません。どこが問題なのか分からないのでアドバイス頂きたいです。

    <現象>
    SQLをphpmyadminで元サイトのデータベースからエクスポートし、サクラエディタで書き換えた後インポートしました。
    インポート100%まで読み込むのに、結果一つもインポートされません。
    エラーメッセージは出ません。
    試しに、元サイトからエクスポートしたものを手を加えずにコピーしたサイトにインポートしてみましたが、何もインポートされませんでした。(データベース名(0)と表示されます)

    キャッシュ系のプラグインはインストールしていません。

    WordPress のバージョン:3.8.1
    PHPMyadmin のバージョン: 3.3.10.5
    サーバー環境(ホスティングサービス名、OS、ウェブサーバー等):さくら、WIN7
    ブラウザとそのバージョン:chrome
    エラーが表示された場合:エラーは表示されません

    複製の手順は、
    <データベース>
    1)phpMYadminで、SQLをエクスポート。
    2)エクスポートしたSQLをサクラエディタで修正。(URL・接頭辞・データベース名変更)
    3)phpMYadminで、SQLをインポート。

    <ファイル>
    1)さくらインターネットのファイルマネジャで、元ファイルと同列にコピーフォルダを作成
    2)元ファイルのファイルをすべてコピーし、.htaccess以外コピーフォルダにペースト
    3)wp-config.phpを書き換え(データベース・接頭辞修正)

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • トピック投稿者 beginer2012

    (@beginer2012)

    SQLのインポートができなかったので、wordpressのダッシュボード>ツール>エクスポートとインポートで.xmlファイルを使ったら元サイトのコピーができ解決しました。

    しかしphpmyadminでSQLを使った方法も解決したいので、引き続きアドバイスをお待ちしております。

    kjmtsh

    (@kjmtsh)

    phpMyAdmin でエクスポートするときに、どんなオプションを指定しましたか? あるいは、dump ファイルの冒頭、コメントを除いて 20 ~ 30 行くらいはどんな風になっていますか? また、dump ファイルのサイズはどれくらいですか?

    データベースサーバに ssh でログインできますか? できる場合は、mysqldump と mysql で同様の操作をすると、どうでしょう?

    トピック投稿者 beginer2012

    (@beginer2012)

    kjmtshさん、ありがとうございます。
    データベースにsshでログインする方法が分からず調べたのですが、コマンドを入力するようですね。私には知識が無く、無理そうです。

    SQLをエクスポートの際には、デフォルトの選択のまま実行しました。
    チェック項目は、下記のとおりです。
    comments

    structure:
    Add IF NOT EXISTS
    Add AUTO_INCREMENT value
    Enclose table and field names with backquotes

    data:
    ・Complete inserts
    ・Documentation
    ・Extended inserts
    ・Use hexadecimal for BLOB

    dumpファイルの冒頭は下記の通りです。

    -- --------------------------------------------------------
    
    --
    -- Table structure for table <code>backupcommentmeta</code>
    --
    
    CREATE TABLE IF NOT EXISTS <code>backupcommentmeta</code> (
      <code>meta_id</code> bigint(20) unsigned NOT NULL AUTO_INCREMENT,
      <code>comment_id</code> bigint(20) unsigned NOT NULL DEFAULT '0',
      <code>meta_key</code> varchar(255) DEFAULT NULL,
      <code>meta_value</code> longtext,
      PRIMARY KEY (<code>meta_id</code>),
      KEY <code>comment_id</code> (<code>comment_id</code>),
      KEY <code>meta_key</code> (<code>meta_key</code>)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
    
    --
    -- Dumping data for table <code>backupcommentmeta</code>
    --
    
    -- --------------------------------------------------------

    kjmtsh

    (@kjmtsh)

    ありがとうございます。別に異常なところはないように見えますね。ただ、この dump ファイルだと、

    エクスポートしたSQLをサクラエディタで修正。(URL・接頭辞・データベース名変更)

    のように、データベース名は変更できません。データベース作成クエリが存在しないからです。ちょっと、疑問に思うところがあるので、またお尋ねしてもよろしいですか?

    上の手順を見ると、

    1. phpMyAdmin で新しい WordPress 用のデータベースを作成した。
    2. 新たに作成したデータベースにテーブルをインポートしようとしたが、成功しなかった。
    3. にもかかわらず、新しい方の WordPress が「立ち上が」った。
    4. WordPress のユーティリティで投稿とページのインポートをしたら成功した。

    というように見えるのですが、合ってますか? 普通、3 の段階でインストールが始まると思うのですが、新たにインストールをしたのでしょうか?

    トピック投稿者 beginer2012

    (@beginer2012)

    エクスポートしたSQLをサクラエディタで修正。(URL・接頭辞・データベース名変更)

    は、エクスポートされた「データベース名.sql」というファイルをサクラエディタで下記の部分の編集をした事を「データベース名変更」と書きました。dumpファイルの20行目ぐらいです。

    --
    -- Database: <code>ID_新しいデータベース名</code>
    --

    それと、手順ですが、3の段階で「ようこそ」というwordpressの画面に変わり、必要項目を入力してから「wordpressをインストール」をクリックしました。その後、確か1つだけサンプル投稿のある新しいwordpressのサイトが立ち上がりました。
    それから4を行いました。

    kjmtsh

    (@kjmtsh)

    「データベース名」については、わかりました。beginner2012 さんが編集したところは、コメントなので、実行には何の影響もありません。ですから、その名前のデータベースが作られないのが通常動作です。「テーブル」ではなくて、「データベース」をエクスポートすると、冒頭近くに

    --
    -- Database: データベース名
    --
    CREATE DATABASE データベース名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
    USE データベース名;

    という部分が入ります(バッククォートは削除しました)。最初の 3 行はコメントなので、何が書かれていても関係ありません。その次の行からがデータベースを作成する命令です。でも、エラーが出なかったのは謎です。普通なら、データベースが作られていないのに、テーブルを作ろうとすることになるので、エラーが出るんですが…。

    手順 3、4 の部分は理解しました。試しに、下のような形でエクスポート、インポートをすると、どうでしょう?

    1. phpMyAdmin にログイン(このときデータベースは選択しない)
    2. エクスポートをクリック
    3. 目的のデータベースが選択されていることを確認して、実行
    4. ログアウト
    5. ダウンロードしたファイルに上のような部分があるかどうか確認して、データベース名、などを編集
    6. 再度、phpMyAdmin にログイン(このときもデータベースは選択しない)
    7. インポートをクリック
    8. 編集したファイルを指定して、実行

    書き換えるのはデータベース名だけでもかまいません。別のデータベースを作る場合は、接頭辞が同じでも重複することはないからです。

    トピック投稿者 beginer2012

    (@beginer2012)

    何度もありがとうございます。
    1から4に従ったところ、新しいdumpファイルは今までのと異なり上記の様にデータベース名が記載されていました。

    5から8もご指示の通り試してみましたが、またインポートされませんでした。
    phmyadminで”データベースを選択しないでエクスポートタブを選択”というのが前回と全く違う点でしたが、今回も8の後に99%まで読み込んだ後(ステータスバーにそう表示されます)、画面が突然welcome to phmyadminに切り変わります。
    今回もエラーメッセージなどは何も表示されませんでした。
    その後、データベースを開いても、やはり新しいデータベース名の横のカッコ内の数値はゼロのままです。

    kjmtsh

    (@kjmtsh)

    はぁ… お使いのレンタルサーバのサポートを見たら、phpMyAdmin についてはサポート外なんですね。もう、WordPress 関係なくなっちゃってますが、何かの縁ということで… 🙂

    beginner2012 さん、申し訳ありませんが、もう一度試せますか?

    1. phpMyAdmin にログイン
    2. データベースを選択して、エクスポート(今度は最初と同じです)
    3. ログアウト
    4. 管理パネルでデータベースを新規作成(文字コードなど注意)
    5. phpMyAdminにログイン
    6. 新規作成したデータベースを選択
    7. エクスポートしたファイルを指定して、インポート実行

    先にデータベースを作成するというのが、たぶん最初と違うのではないかと思います。あ、ところで、dump ファイルのサイズを聞いてませんでしたが、どれくらいの大きさですか? あんまりデータが多いようだったら、エクスポートのときに、「データ」のセクションで「作成するクエリの最大長」というのがありますから、500 くらいにしておくといいようです(自分で確認できないので、断定はしませんが)。

    トピック投稿者 beginer2012

    (@beginer2012)

    本当に何度も申し訳ありません。
    これはWPの問題でなくphpMYadminの問題でしたね。

    上記1から7の手順で試しましたが、結果は先の2度と同じでした。
    やはりエラーメッセージは出ないのに、インポートされませんでした。
    4では文字コードも元のデータベースと同じUTF-8にしました。

    最近WPプラグインのbackWPupもエラーが出てバックアップが取れなくなっているのと関係あるかもしれないでしょうか。

    今回のdumpファイルサイズは19,012KBです。
    2回前の「データベースを選択しない」でエクスポートの時は16,965KBでした。

    kjmtsh

    (@kjmtsh)

    お使いのレンタルサーバを調べると、以下のことが新たに判明しました。

    1. ユーザには CREATE DATABASE 権限が与えられていない
    2. サーバで CREATE DATABASE を実行すると、ちゃんとエラーが返る
    3. dump ファイルの最大長が 16 MiB である

    1 は、ユーザ権限では、新たなデータベースを作ることができないということです。個数の制限があるので、勝手にいくつも作れないようになっているのですね。サーバでデータベースを作ろうとすると、ちゃんとエラーメッセージが返ってきました。beginner2012 さんの、「エラーが出ない」は依然として謎ですが… 言いかえると、「データベースのインポートはできない」ので、エクスポートするときには「テーブルをエクスポート」しなければならないということです。上の例では、最後に試みた方法が唯一正しいやり方です。

    3 は大切で、beginner2012 さんの dump ファイルが 16965KB ということは、約 16 MB ちょっとですから、これが引っかかってる可能性があります。こちらは、MySQL ではなくて、PHP の制限ですから、設定で変更できるかもしれませんが、phpMyAdmin がどこからこの数値を取ってきているのかわからないので、何とも言えません。

    ということで、エクスポートするときに、圧縮してみてはどうでしょう? オプションで形式を選べます。Mac ならどの形式でもいいと思いますが、Windows なら zip を選んだ方が楽だと思います。管理パネルで別のデータベースを作ってから、圧縮したファイルをそのままインポートしてみてください。

    あるいは、テーブルをエクスポートするときに、半分ずつくらいに分割するといいかもしれません。手間はかかりますが、より確実ではあります。

    プラグインの方は、phpMyAdmin を通さず、直接 MySQL と通信しているはずなので、別の原因ではないですかね。こちらは「エラーが出て」ということですから、そのエラーメッセージをよく読むというのが回復への最初のステップです。

    トピック投稿者 beginer2012

    (@beginer2012)

    できました!!!

    3 は大切で、beginner2012 さんの dump ファイルが 16965KB ということは、約 16 MB ちょっとですから、これが引っかかってる可能性があります。

    そのとおりでした。
    圧縮したzipファイルをインポートできました!
    サイズの問題だったのですね…

    お陰様で解決できました。長い間お付き合い頂きありがとうございました。

    トピック投稿者 beginer2012

    (@beginer2012)

    解決済みにさせて頂きます。

    トピック投稿者 beginer2012

    (@beginer2012)

    解決済みにさせて頂きます。

13件の返信を表示中 - 1 - 13件目 (全13件中)
  • トピック「サイト複製時にSQLをインポートできない」には新たに返信することはできません。