XOOPSのデータバックアップ(エクスポート)と復元(インポート)
2010年3月8日更新
久しぶりにバックアップとったらなぜかてこずった。
phpmyadminのバージョンもあがったりして、エクスポートとインポート画面の設定が分からなかった。
いろいろ検索してみたけど古いバージョンの情報ばかり。
落ち着いていろいろ調べながらやってみたのでメモメモ。
phpmyadminの操作、設定について
エクスポートの設定
phpmyadmin3.2.3(公開サーバー)
- 左のフレームからバックアップしたいデータベースの名前を選択。
- 右のフレームの[エクスポート]タブをクリック。
- 「DB のダンプ(スキーマ)表示」>「エクスポート」の[全選択]リンクをクリックしすべてのテーブルを選択。
- [オプション]の「コメント」はチェックしたまま。
- [構造]の「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT を追加」をチェック。DROP TABLEはふるいテーブルが残っていても上書きしてくれるSQLらしい。
- [データ]の「長い INSERT 文を作成する」をチェック。または、「完全な INSERT 文を作成する」の方でもよいのかも。今回は「長い INSERT 文を作成する」をチェック。あと、「BLOBに16進数表記を利用する」をチェック。
- 同ページ下部の[ファイルに保存する]チェックボックスを選択し、[実行する]ボタンをクリック。「圧縮」オプションは「なし」、エンコーディングは「non」で[実行する]。
インポート
phpmyadmin3.1.3.1(ローカルテスト環境|XAMPP1.7)
- 左のフレームから復元したいデータベースの名前を選択。
- インポートする.sqlファイルを選択。
- 「ファイルの文字セット」は「ujis」を選択。xoopsはeucなので「eucjpms」という奴かと思ったが違う意味みたいだ。よく分からんけど。
- エンコーディングは「non」のまま。
- [実行する]
インポートに成功。ただし一箇所のテンプレートで文字化けしていたけど、管理画面から保存しなおしたら直った。
原因不明。もしかしたら編集のときサクラエディタで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