データベースをバックアップしておくことで、PowerCMS のアップグレードなどを行った際に、不慮の事態でデータを失ってしまっても、復旧することが可能になります。
PowerCMS のアップグレード、カスタマイズ、新しいプラグインの導入などを行う前に、データベースのバックアップを行うことをお勧めします。
なお、データベースにはアップロードした画像ファイルなどは含まれませんので、完全なバックアップには、PowerCMS の『バックアップと復元』 機能を利用して下さい。
バックアップを行う際の注意
PowerCMS の一部データはバイナリ型のため、バイナリ型のデータが壊れないように対策が必要です。例えば
mysqldump
コマンドでダンプファイルを取得する際は --hex-blob
オプションを指定するとバイナリ型のデータを16進数へ変換して出力できます。mysqldump コマンド以外のツールを使う場合は各ツールのマニュアルなどを参照してください。
MySQL のバックアップには、次の方法があります。
ホスティングサーバーの事業者が提供するツールでのバックアップ
MySQL を利用できるホスティングサーバーの場合、事業者がバックアップの方法、もしくはシェルを提供していることがあります。これらを利用してデータベースのバックアップを作成することができます。
ツールの利用方法については、各ホスティングサーバー事業者が提供するマニュアルなどをご参照下さい。
コマンドでのデータベース単位のバックアップ
telnet や ssh でサーバーに入れる場合は、MySQL データベースのバックアップを mysqldump コマンドで行うことができます。
たとえば、データベース名を mt、ユーザー名を mtuser、パスワードを mtpasswd とする場合は、次のように実行すると、BACKUP.mysql というバックアップファイルが作成されます。
$ mysqldump --hex-blob --user=mtuser --password=mtpasswd mt > BACKUP.mysql
MySQL のバージョンが 5.0 以上の場合、自動的に --opt オプションが付与されるため mysqldump はデフォルトでテーブルロックを行います。 そのため、バックアップ中は PowerCMS を使用すると動作が遅くなる、応答が返らない等の症状が出る場合があります。 バックアップは PowerCMS が使用されていないときに行うようにしてください。
--hex-blob
オプションはバイナリ型のデータを16進数へ変換するためのものです。このオプションを指定しない場合、ダンプファイルからの復元後に PowerCMS でエラーが発生する場合があります。
phpMyAdmin を利用したデータベースのバックアップ
MySQL をバックアップする場合、ブラウザで MySQL を管理できるツールの phpMyAdmin を利用すると便利です。
『参考:phpMyAdmin』をご参照下さい。