• ベストアンサー

エクスポートしたファイルがインポートできなくなってしまいました

先日MySQLをバージョンアップしました その際、データが全て消去されてしまうと言うことで、 一度データをエクスポートし、バージョンアップ後にインポートするという手順でしたが バージョンアップ後、インポートしようとしても 「サイズが大きすぎる」というエラーが出てきてしまいます 解決法はファイルを2MBずつ分割してインポートするという物でしたが エクスポートしたファイルのサイズは467MBですので 普通に実行すれば恐ろしい作業になってしまいます 何か良い方法はありませんでしょうか? あるいは2MBずつしかアップできないサーバーがおかしいのでしょうか? よろしくお願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>「サイズが大きすぎる」というエラー が、転送時にでるエラーなのか、インサート時にでるエラーなのかに よって若干作業工程がことなります。 いずれにしても、バッチで処理すれば、それほど難しいことでは ないと思います。

その他の回答 (2)

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.3

レンタルサーバでのバージョンアップでデータの移行を(サーバ側が)しないというのは珍しいような気もしますけど(そうでもないのかな・・)。 エクスポートとはいっても、単なるSQL文の羅列ですよね?ファイルをサーバに転送して、そのファイルを読んでSQL文の区切り「;」(ただし文字列部分と判別する必要あり=まぁ文末がセパレータならSQL文の終わりと判断でいいでしょう)ごとにMySQLサーバに投げるようなスクリプトを組めばいいように思います。1回しか使わない(終わったら削除する)ので。ファイル名は引数($_GET)で与えればいいでしょう。 #何度か作った記憶はあります(汗 とはいえ、467MBだと何分割かはしないとマズイかな(汗)。テーブル単位で切り出して、サイズの大きいテーブルはさらに分割する・・といった感じでしょうかね。

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

「バージョンアップしました」ということなので、ご自分のサーバですよね?(念のため確認) インポートには「何を」お使いでしょうか?phpMyAdminであれば、サーバ側のmax_upload_sizeとかmax_post_sizeの制限かもしれません>2MB。 他の方法でサーバにファイルを転送出来れば、直接(もしくはphpなどで)インポートファイル(単なるSQL文)を渡せると思います。もしくは(サーバ側のスクリプトで実行するなら)「;」で区切って分割しながら渡すとかも出来るかと。

master817199
質問者

お礼

すいません先ほどの補足で言い忘れました インポートにはphpMyAdminを使っております よろしくお願いします

master817199
質問者

補足

お返事ありがとうございます こちらはレンタルサーバーですので自由にいじることができません 管理者にも問い合わせましたが 2MBが最大でこれ以上にはできないとのことでした 何か他に良い方法などありませんでしょうか? よろしくお願いします

関連するQ&A