XOOPSのデータバックアップ(エクスポート)と復元(インポート)

2010年3月8日更新

久しぶりにバックアップとったらなぜかてこずった。
phpmyadminのバージョンもあがったりして、エクスポートとインポート画面の設定が分からなかった。
いろいろ検索してみたけど古いバージョンの情報ばかり。
落ち着いていろいろ調べながらやってみたのでメモメモ。

phpmyadminの操作、設定について

エクスポートの設定

phpmyadmin3.2.3(公開サーバー)

  1. 左のフレームからバックアップしたいデータベースの名前を選択。
  2. 右のフレームの[エクスポート]タブをクリック。
  3. 「DB のダンプ(スキーマ)表示」>「エクスポート」の[全選択]リンクをクリックしすべてのテーブルを選択。
  4. [オプション]の「コメント」はチェックしたまま。
  5. [構造]の「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加」をチェック。DROP TABLEはふるいテーブルが残っていても上書きしてくれるSQLらしい。
  6. [データ]の「長い INSERT 文を作成する」をチェック。または、「完全な INSERT 文を作成する」の方でもよいのかも。今回は「長い INSERT 文を作成する」をチェック。あと、「BLOBに16進数表記を利用する」をチェック。
  7. 同ページ下部の[ファイルに保存する]チェックボックスを選択し、[実行する]ボタンをクリック。「圧縮」オプションは「なし」、エンコーディングは「non」で[実行する]。

インポート

phpmyadmin3.1.3.1(ローカルテスト環境|XAMPP1.7)

  1. 左のフレームから復元したいデータベースの名前を選択。
  2. インポートする.sqlファイルを選択。
  3. 「ファイルの文字セット」は「ujis」を選択。xoopseucなので「eucjpms」という奴かと思ったが違う意味みたいだ。よく分からんけど。
  4. エンコーディングは「non」のまま。
  5. [実行する]

インポートに成功。ただし一箇所のテンプレートで文字化けしていたけど、管理画面から保存しなおしたら直った。
原因不明。もしかしたら編集のときサクラエディタUTF-8になってたのかな?これもわからん。ほかは大丈夫みたい。

照合順序がujis_japanese_ciにしてあるからujisと思われ。

あと、sqlファイルの重さが40MBほどあり、昨日はタイムアウトしてしまっていたが、php5.iniでタイムアウトを600秒にしたから回避した。
アップロードファイルの重さも256MBに全箇所修正。

memory_limit = 32M
post_max_size = 32M
upload_max_filesize = 32M

参考:
http://www.miuxmiu.com/archives/2009/06/25/phpmyadmin_import_upload_file_size_phpini.html