サイズの大きいSQLデータをサーバーにUPする方法

サイズの大きいSQLデータをサーバーにUPする方法

サイズの大きいSQLデータをサーバーにUPする方法

ファイルサイズの大きいSQLファイルは、phpMyAdminではインポートできない場合があります。

bigdump.phpを使えば、ブラウザアクセスでデータのインポートができます。

SQLデータは圧縮ファイルでアップロードし、サーバー上で解凍する事をお勧めします。

phpMyAdminでインポートできないサイズのSQLファイル

今回もクライアント案件です。

Wordpressの引っ越しの際にはDBデータ(SQLファイル)を移設させる必要があります。

普通の量ならば、phpMyAdminでも問題無くエクスポート・インポートができると思います。

しかしSQLファイルのファイルサイズが特に大きい場合は、phpMyAdminからのインポートができない場合があります。

インポートするデータの容量に一定制限がある

これはレンタルサーバー側の利用制限の一環ですね。

一定以上のファイルサイズを持つSQLファイルの場合、phpMyAdminからはインポート操作できない仕様になっています。

※今はそのようなレンタルサーバーがほとんどです。

ですのでこのようなSQLデータをインポートするには、別の手段を取らなければなりません。

他のインポート手段

このような肥大したSQLファイルをデータベースにインポートする場合、主に以下3つの手段が考えられます。

・テーブルごとに切り分けて操作
・SSH接続での操作
・専用ファイルからの操作

テーブルごとに切り分けて操作

Wordpressの移設の場合、各テーブルをまとめて一括でエクスポートする事がほとんどだと思います。

わざわざテーブル単位でエクスポートを繰り返す事はあまりありません。

しかし今回の様に大容量のデータの場合は、各テーブル単位でエクスポート・インポートしてくる事も一つの手段です。

しかしSQLテーブルの中で一番肥大するのはwp_post系でしょうから、それ以外を分割してもあまり意味がないかも知れませんね。

SSH接続での操作

これはコマンドを直接入力してDBデータをインポートする方法です。

ターミナルやその他ソフトでサーバーにSSH接続し、コマンドを入力してインポート操作する事になります。

もちろんこれで問題は全くないのですが、やはり初心者向けではありませんね。

移転先がSSH接続できないサーバーの場合もあります。

SSH接続についてはこちらをご覧ください

専用ファイルからの操作

最後の一つは専用のphpファイルをサーバーにUPして操作する方法で、今回紹介する方法です。

移転先のDB情報などを入力するだけで、簡単にインポートできますのでおすすめです。

今回はこのBigDump.phpファイルを使ったインポート操作をご紹介します。

BigDump.phpのダウンロード・準備

まずはBigDump.phpを下のリンクのURLからダウンロードします。

Staggered MySQL Dump Importer

ページ右上の「BigDump ver. 0.36b (beta) 」からダウンロードします。

解凍してできるファイルは1枚のみです、シンプルですよね。

DB情報の入力

アップロードしたBigDump.phpを開いて、移転先のDB情報を入力します。

43行目あたりがデータベースへ接続するための情報になります。

入力欄4か所

入力が必要なDB情報

・MySQLサーバーのホスト名
・データベース名
・データベースを利用できるユーザー名
・データベース接続パスワード

編集したら上書き保存しましょう。

ファイルアップロード・アクセス

サーバーにFTP接続し、TOPディレクトリにBigDump.phpと大容量のSQLファイルをアップロードします。

同じ階層に並べる

場所はTOPディレクトリでなくても良いのですが、BigDump.phpとSQLファイルは同じ階層に設置しましょう。

bigdump.php


hogehoge.sql

上記の様に同じディレクトリ内にあれば、他のファイルが並んでいても問題ありません。

第三者にアクセス・操作されない様にする

BigDump.phpは一般に出回っているファイルですから、知っている人は誰でも知っています。

今回の様にTOPディレクトリに置く事は想定されやすいので、第三者にアクセス・操作されない様にしなければなりません。

作業者だけがアクセスできる別ディレクトリに置くか、操作をしたらすぐに削除するようにしましょう。

ブラウザからアクセス

URLを直接入力して、アップロードしたBigDump.phpをブラウザで開きましょう。

http://ドメイン名/BigDump.php

SSH接続と違ってブラウザで確認しながらインポート作業ができるので、視覚的に分かりやすくて便利です。

ブラウザアクセスした時、正常にデータベースに接続できていれば下のようになります。

正常にDBに接続された状態

逆に正常に接続できていない場合は、以下の様な表示がされます。

DBに接続できていない状態

DBデータのインポート操作

ではいよいよ後はインポートするだけです。

Start Import

上部メニューの「Start Import」部分をクリックすると、インポートが始まります。

ローカル上のファイルを選択する事もできます。

インポート中にブラウザ再読み込みをしてしまうと、再度レコードが追加されてしまうので注意しましょう。

「%bar」のメーターが最大になり、「Conguratulations」と表示されればインポート完了です。

複数のSQLファイルがある場合

複数のSQLファイルがあるという事は、それぞれ別々にWordpressが動いている事になります。

であれば基本的に、データベースもそれぞれ存在するはずですよね。

その場合は別のSQLファイルをアップして、それ専用のDB情報に書き換えます。

もう一度ブラウザからアクセスして、「Start Import」をクリックすればインポートできます。

※アップする場所は毎回同じでもOKですが、DB情報は都度書き換えましょう。

FTPソフトでSQLデータがUPできない場合

BigDump.phpでサーバーにUPする場合、まずサーバーのTOPディレクトリにSQLファイルをアップロードしなければなりません。

通常はFTPなどでアップロードする訳ですが、あまりにファイルサイズが大きいと途中でエラーが出る場合があります。

圧縮ファイルのUP

その場合は圧縮ソフトなどを使い、SQLファイルを圧縮しましょう。

これにより、○○○.sqlファイルが○○○.zipに変わります。

.zipファイルの状態であれば、FTPでスムーズにアップロードできるはずです。

解凍ファイルを準備する

サーバーにUPした後は当然.sqlファイルに戻さなければなりません。これが解凍ですね。

サーバー上で解凍するために、専用のファイル(phpファイル)を準備します。

今回phpファイルの名前を「unzip.php」としています。

unzip.phpコード

以下がunzip.php内コードです。コピペして使って下さい。

<?php $zip = new ZipArchive(); if ($zip->open('./hogehoge.zip') === true) { if ($zip->extractTo('./') === true) { $zip->close(); } else { exit('Extract Error'); } } else { exit('Open Error'); } echo 'Unzip Complete'; ?>

4行目のhogehoge.zip部分を、解凍するファイル名にしましょう。

上記パスの場合、hogehoge.zipがある場所と同じ位置にunzip.phpをおいておく必要があります。

ファイルアップロード・アクセス

このphpファイルを、サーバー上のzipファイルと同じ位置にUPしましょう。

そしてブラウザからこのファイルへアクセスを掛ける事で、解凍作業が実施される訳です。

http://ドメイン名/unzip.php

解凍中は歯車マークが回り、ページは切り替わりませんので焦らずに待ちましょう。

成功すれば「Unzip Complete」と表示され、サーバー上の.zipと同じ位置に.sqlファイルができます。

この記事をシェアする

一押し人気コーナー紹介

Webworks関連記事