- ベストアンサー
エクスポートしたファイルがインポートできなくなってしまいました
先日MySQLをバージョンアップしました その際、データが全て消去されてしまうと言うことで、 一度データをエクスポートし、バージョンアップ後にインポートするという手順でしたが バージョンアップ後、インポートしようとしても 「サイズが大きすぎる」というエラーが出てきてしまいます 解決法はファイルを2MBずつ分割してインポートするという物でしたが エクスポートしたファイルのサイズは467MBですので 普通に実行すれば恐ろしい作業になってしまいます 何か良い方法はありませんでしょうか? あるいは2MBずつしかアップできないサーバーがおかしいのでしょうか? よろしくお願いします
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>「サイズが大きすぎる」というエラー が、転送時にでるエラーなのか、インサート時にでるエラーなのかに よって若干作業工程がことなります。 いずれにしても、バッチで処理すれば、それほど難しいことでは ないと思います。
その他の回答 (2)
- shimix
- ベストアンサー率54% (865/1590)
レンタルサーバでのバージョンアップでデータの移行を(サーバ側が)しないというのは珍しいような気もしますけど(そうでもないのかな・・)。 エクスポートとはいっても、単なるSQL文の羅列ですよね?ファイルをサーバに転送して、そのファイルを読んでSQL文の区切り「;」(ただし文字列部分と判別する必要あり=まぁ文末がセパレータならSQL文の終わりと判断でいいでしょう)ごとにMySQLサーバに投げるようなスクリプトを組めばいいように思います。1回しか使わない(終わったら削除する)ので。ファイル名は引数($_GET)で与えればいいでしょう。 #何度か作った記憶はあります(汗 とはいえ、467MBだと何分割かはしないとマズイかな(汗)。テーブル単位で切り出して、サイズの大きいテーブルはさらに分割する・・といった感じでしょうかね。
- shimix
- ベストアンサー率54% (865/1590)
「バージョンアップしました」ということなので、ご自分のサーバですよね?(念のため確認) インポートには「何を」お使いでしょうか?phpMyAdminであれば、サーバ側のmax_upload_sizeとかmax_post_sizeの制限かもしれません>2MB。 他の方法でサーバにファイルを転送出来れば、直接(もしくはphpなどで)インポートファイル(単なるSQL文)を渡せると思います。もしくは(サーバ側のスクリプトで実行するなら)「;」で区切って分割しながら渡すとかも出来るかと。
お礼
すいません先ほどの補足で言い忘れました インポートにはphpMyAdminを使っております よろしくお願いします
補足
お返事ありがとうございます こちらはレンタルサーバーですので自由にいじることができません 管理者にも問い合わせましたが 2MBが最大でこれ以上にはできないとのことでした 何か他に良い方法などありませんでしょうか? よろしくお願いします