JA
/
EN

phpMyAdminでのデータベースエクスポート方法と失敗しないための設定ポイント

  • WordPress

サーバー移転やバックアップのためにphpMyAdminでデータベースをエクスポートする際、デフォルトの「簡易」設定のまま書き出してしまうと、いざインポートするときにエラーになったり、テーブルが正しく復元できなかったりすることがあります。この記事では、エクスポート時に確認しておきたい設定項目を、画面キャプチャに沿って解説します。

本記事について: 本記事はphpMyAdminの公式ドキュメントではなく、実際の操作画面をもとに作成した解説記事です。表示されるオプションの初期値や挙動は、利用しているphpMyAdmin・MySQL/MariaDBのバージョンによって異なる場合があります。正確な仕様はphpMyAdmin公式ドキュメントもあわせてご確認ください。

 

STEP1 エクスポートしたいデータベースを選び、「エクスポート」タブを開く

phpMyAdminにログインし、左側のメニューから書き出したいデータベースを選択します。画面上部の「エクスポート」タブをクリックし、エクスポート方法は初期値の「簡易」ではなく「詳細 – 可能なオプションをすべて表示」を選択してください。

 

STEP2 フォーマットとテーブルの選択を確認する

「詳細」を選ぶと表示される画面で、以下の2点を確認します。

  • フォーマット:「SQL」になっているか
  • テーブル:一覧のすべてのテーブルにチェックが入っているか(「全選択」で一括チェックできます)

 

STEP3 生成オプションでDROP TABLE系のコマンドを追加する

下にスクロールすると「生成オプション」があります。ここで「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」の項目を有効にしてください(初期状態ではオフになっています)。

この設定を有効にしておくと、インポート先に同名のテーブルなどが既に存在していても、エクスポートしたSQLの実行時に一度削除してから作り直す形になるため、上書きインポートがしやすくなります。

なお、「AUTO_INCREMENT値」「CREATE VIEWコマンドを追加する」「CREATE PROCEDURE / FUNCTION / EVENTコマンドを追加する」「CREATE TRIGGERコマンドを追加する」「逆クォートでテーブルやカラムの名前を囲む」は初期状態で有効になっているはずなので、誤ってオフにしていないか確認しておきましょう。

 

 

STEP4 エンコーディングへの変換を確認する

「エンコーディングへの変換」は、初期値の「なし」のままにしておきます。ここでEUCやSJISに変換してしまうと、サイトが元々UTF-8で運用されている場合に文字化けの原因になることがあります。

 

STEP5 ファイルサイズが大きい場合は圧縮・分割を検討する

「出力」欄の「圧縮」から、SQLファイルを圧縮した状態で書き出すことができます。データ量が大きい場合に有効です。

インポート先の環境によっては、アップロードできるファイルサイズに上限が設けられていることがあります。筆者の環境では、圧縮なしの状態で32MBを超える場合はzip形式などに圧縮し、zip展開後のサイズが105MBを超える場合はエクスポートするテーブルを分けて複数回に分割する、という方法で対応しました。上限の具体的な数値はサーバーやphpMyAdminの設定によって異なるため、実際にインポートする環境側の上限もあわせて確認してください。

 

エクスポートしたファイルの取り扱いについて

エクスポートしたSQLファイルには、会員情報やパスワードのハッシュ値など、データベースの中身がそのまま含まれます。以下の点に注意して取り扱ってください。

  • サーバー上の公開ディレクトリ(誰でもアクセスできる場所)には保存しない
  • 作業が終わったら、不要になったエクスポートファイルは速やかに削除する
  • 第三者と共有する場合は、チャットやメールなど平文でのやり取りを避け、安全な方法で受け渡しする

 

よくあるトラブルと対処法

症状考えられる原因対処法
インポート時に「テーブルが既に存在します」といったエラーになるエクスポート時にDROP TABLE系のコマンドが追加されていないSTEP3の設定を有効にした状態で再度エクスポートする
インポート後に文字化けが起きるエクスポート時のエンコーディング変換や、インポート先の文字コード設定が影響しているエクスポート時は「なし」を選択し、インポート先のデータベース・テーブルの文字コード設定も確認する
ファイルサイズが大きすぎてインポートできない圧縮していない、またはテーブルを分割していないzip形式などで圧縮する、テーブルごとに分けてエクスポートする

 

まとめ

phpMyAdminでのエクスポートは「簡易」設定のままでも書き出し自体はできますが、インポート時にトラブルが起きやすいのは、DROP TABLE系コマンドの追加やエンコーディングの設定を見落としたケースです。「詳細」設定に切り替えたうえで、本記事のSTEP1〜STEP5の項目を確認してからエクスポートすることをおすすめします。

記事を共有する